Index: /CKEditor/trunk/CHANGES.html
===================================================================
--- /CKEditor/trunk/CHANGES.html	(revision 6428)
+++ /CKEditor/trunk/CHANGES.html	(revision 6429)
@@ -51,4 +51,5 @@
 		<li><a href="http://dev.ckeditor.com/ticket/6144">#6144</a> : Rich combos have wrong height when toolbar is wrapped.</li>
 		<li><a href="http://dev.ckeditor.com/ticket/6387">#6387</a> : AutoGrow may cause an error when editor instance is destroyed too quickly after height change.</li>
+		<li><a href="http://dev.ckeditor.com/ticket/6901">#6901</a> : Mixed direction content was not properly respected on a shared toolbar.</li>
 		<li>Updated the following language files:<ul>
 			<li><a href="http://dev.ckeditor.com/ticket/7124">#7124</a> : Czech;</li>
Index: /CKEditor/trunk/_source/plugins/bidi/plugin.js
===================================================================
--- /CKEditor/trunk/_source/plugins/bidi/plugin.js	(revision 6428)
+++ /CKEditor/trunk/_source/plugins/bidi/plugin.js	(revision 6429)
@@ -52,11 +52,7 @@
 	{
 		var editor = evt.editor,
-			chromeRoot = editor.container.getChild( 1 ),
 			directionNode = evt.data.path.block || evt.data.path.blockLimit;
 
-		if ( directionNode && editor.lang.dir != directionNode.getComputedStyle( 'direction' ) )
-			chromeRoot.addClass( 'cke_mixed_dir_content' );
-		else
-			chromeRoot.removeClass( 'cke_mixed_dir_content' );
+		editor.fire( 'contentDirChanged', directionNode ? directionNode.getComputedStyle( 'direction' ) : editor.lang.dir );
 	}
 
@@ -279,2 +275,9 @@
  * @param {String} eventData.dir The new direction.
  */
+
+/**
+ * Fired when the language direction in the specific cursor position is changed
+ * @name CKEDITOR.editor#contentDirChanged
+ * @event
+ * @param {String} eventData The direction in the current position.
+ */
Index: /CKEditor/trunk/_source/themes/default/theme.js
===================================================================
--- /CKEditor/trunk/_source/themes/default/theme.js	(revision 6428)
+++ /CKEditor/trunk/_source/themes/default/theme.js	(revision 6429)
@@ -168,4 +168,16 @@
 			// Disable browser context menu for editor's chrome.
 			container.disableContextMenu();
+
+			// Use a class to indicate that the current selection is in different direction than the UI.
+			editor.on( 'contentDirChanged', function( evt )
+			{
+				var func = ( editor.lang.dir != evt.data ? 'add' : 'remove' ) + 'Class';
+
+				container.getChild( 1 )[ func ]( 'cke_mixed_dir_content' );
+
+				// Put the mixed direction class on the respective element also for shared spaces.
+				var toolbarSpace = this.sharedSpaces && this.sharedSpaces[ this.config.toolbarLocation ];
+				toolbarSpace && toolbarSpace.getParent().getParent()[ func ]( 'cke_mixed_dir_content' );
+			});
 
 			editor.fireOnce( 'themeLoaded' );
