diff --git a/web/sites/all/modules/panels/plugins/layouts/flexible/flexible.inc b/web/sites/all/modules/panels/plugins/layouts/flexible/flexible.inc
index 8f11bba..25913dd 100644
--- a/web/sites/all/modules/panels/plugins/layouts/flexible/flexible.inc
+++ b/web/sites/all/modules/panels/plugins/layouts/flexible/flexible.inc
@@ -455,6 +455,7 @@ function panels_flexible_render_items($renderer, $list, $owner_id) {
   $groups = array('left' => '', 'middle' => '', 'right' => '');
   $max = count($list) - 1;
   $prev = NULL;
+  global $language;
 
   foreach ($list as $position => $id) {
     $item = $renderer->settings['items'][$id];
@@ -470,7 +471,13 @@ function panels_flexible_render_items($renderer, $list, $owner_id) {
         $groups[$location] .= panels_flexible_render_item($renderer, $item, $content, $id, $position, $max);
         break;
       case 'row':
-        $content = panels_flexible_render_items($renderer, $item['children'], $renderer->base['row'] . '-' . $id);
+        // If language direction == rtl we reverse the items.
+        if ($language->direction == 1) {
+          $content = panels_flexible_render_items($renderer, array_reverse($item['children']), $renderer->base['row'] . '-' . $id);
+        }
+        else {
+          $content = panels_flexible_render_items($renderer, $item['children'], $renderer->base['row'] . '-' . $id);
+        }
         $groups[$location] .= panels_flexible_render_item($renderer, $item, $content, $id, $position, $max, TRUE);
         break;
       case 'region':
