Index: /CKEditor/trunk/CHANGES.html
===================================================================
--- /CKEditor/trunk/CHANGES.html	(revision 7209)
+++ /CKEditor/trunk/CHANGES.html	(revision 7210)
@@ -60,4 +60,5 @@
 		<li><a href="http://dev.ckeditor.com/ticket/7900">#7900</a> : [FF] Copy/Paste table cells no longer breaks Table dialog.</li>
 		<li><a href="http://dev.ckeditor.com/ticket/7243">#7243</a> : Inline JavaScript events may have been corrupted.</li>
+		<li><a href="http://dev.ckeditor.com/ticket/7448">#7448</a> : Fix list creation on RTL block wrongly merged with the above LTR block.</li>
 		<li>Updated the following language files:<ul>
 			<li><a href="http://dev.ckeditor.com/ticket/8128">#8128</a> : Italian;</li>
Index: /CKEditor/trunk/_source/plugins/list/plugin.js
===================================================================
--- /CKEditor/trunk/_source/plugins/list/plugin.js	(revision 7209)
+++ /CKEditor/trunk/_source/plugins/list/plugin.js	(revision 7210)
@@ -465,4 +465,20 @@
 	}
 
+	// Move direction attribute from root to list items.
+	function dirToListItems( list )
+	{
+		var dir = list.getDirection();
+		if ( dir )
+		{
+			for ( var i = 0, children = list.getChildren(), child; child = children.getItem( i ), i < children.count(); i++ )
+			{
+				if ( child.type == CKEDITOR.NODE_ELEMENT && child.is( 'li' ) && !child.getDirection() )
+					child.setAttribute( 'dir', dir );
+			}
+
+			list.removeAttribute( 'dir' );
+		}
+	}
+
 	listCommand.prototype = {
 		exec : function( editor )
@@ -618,4 +634,9 @@
 						 sibling.getName() == listCommand.type )
 					{
+
+						// In case to be merged lists have difference directions. (#7448)
+						if ( sibling.getDirection( 1 ) != listNode.getDirection( 1 ) )
+							dirToListItems( listNode.getDirection() ? listNode : sibling );
+
 						sibling.remove();
 						// Move children order by merge direction.(#3820)
