Index: /CKEditor/trunk/_source/plugins/list/plugin.js
===================================================================
--- /CKEditor/trunk/_source/plugins/list/plugin.js	(revision 7226)
+++ /CKEditor/trunk/_source/plugins/list/plugin.js	(revision 7227)
@@ -17,20 +17,14 @@
 		nonEmpty = function( node ){ return !( whitespaces( node ) || bookmarks( node ) ); };
 
-	function inheritedDirection( element )
-	{
-		var dir;
-		while ( element && !( dir = element.getDirection() ) )
-		{
-			element = element.getParent();
-		}
-		return dir;
-	}
-	
-	function cleanUpDirection( element, rootDir )
-	{
-		var dir;
+	function cleanUpDirection( element )
+	{
+		var dir, parent, parentDir;
 		if ( dir = element.getDirection() )
 		{
-			if ( dir == ( inheritedDirection( element.getParent() ) || rootDir ) )
+			parent = element.getParent();
+			while ( parent && !( parentDir = parent.getDirection() ) )
+				parent = parent.getParent();
+
+			if ( dir == parentDir )
 				element.removeAttribute( 'dir' );
 		}
@@ -239,5 +233,5 @@
 						// Clear redundant direction attribute specified on list items.
 						if ( currentNode.getName() in CKEDITOR.dtd.$listItem )
-							cleanUpDirection( currentNode, listRoot.getDirection( 1 ) );
+							cleanUpDirection( currentNode );
 					}
 
