Index: /CKEditor/trunk/_source/plugins/dialog/plugin.js
===================================================================
--- /CKEditor/trunk/_source/plugins/dialog/plugin.js	(revision 5399)
+++ /CKEditor/trunk/_source/plugins/dialog/plugin.js	(revision 5400)
@@ -313,5 +313,6 @@
 				return;
 
-			var keystroke = evt.data.getKeystroke();
+			var keystroke = evt.data.getKeystroke(),
+				rtl = editor.lang.dir == 'rtl';
 
 			processed = 0;
@@ -346,5 +347,5 @@
 			{
 				// Arrow keys - used for changing tabs.
-				nextId = ( keystroke == 37 ? getPreviousVisibleTab.call( me ) : getNextVisibleTab.call( me ) );
+				nextId = ( keystroke == ( rtl ? 39 : 37 ) ? getPreviousVisibleTab.call( me ) : getNextVisibleTab.call( me ) );
 				me.selectPage( nextId );
 				me._.tabs[ nextId ][ 0 ].focus();
Index: /CKEditor/trunk/_source/plugins/elementspath/plugin.js
===================================================================
--- /CKEditor/trunk/_source/plugins/elementspath/plugin.js	(revision 5399)
+++ /CKEditor/trunk/_source/plugins/elementspath/plugin.js	(revision 5400)
@@ -169,7 +169,8 @@
 		ev = new CKEDITOR.dom.event( ev );
 
+		var rtl = editor.lang.dir == 'rtl';
 		switch ( ev.getKeystroke() )
 		{
-			case 37 :					// LEFT-ARROW
+			case rtl ? 39 : 37 :					// LEFT-ARROW
 			case 9 :					// TAB
 				element = CKEDITOR.document.getById( idBase + ( elementIndex + 1 ) );
@@ -179,5 +180,5 @@
 				return false;
 
-			case 39 :					// RIGHT-ARROW
+			case rtl ? 37 : 39 :					// RIGHT-ARROW
 			case CKEDITOR.SHIFT + 9 :	// SHIFT + TAB
 				element = CKEDITOR.document.getById( idBase + ( elementIndex - 1 ) );
