Index: /CKEditor/branches/features/paste/_source/core/htmlparser/fragment.js
===================================================================
--- /CKEditor/branches/features/paste/_source/core/htmlparser/fragment.js	(revision 4764)
+++ /CKEditor/branches/features/paste/_source/core/htmlparser/fragment.js	(revision 4765)
@@ -279,12 +279,14 @@
 
 			var pendingAdd = [],
+				newPendingInline = [],
 				candidate = currentNode;
 
 			while ( candidate.type && candidate.name != tagName )
 			{
-				// If this is an inline element, add it to the pending list, so
-				// it will continue after the closing tag.
+				// If this is an inline element, add it to the pending list, if we're
+				// really closing one of the parents element later, they will continue
+				// after it.
 				if ( !candidate._.isBlockLike )
-					pendingInline.unshift( candidate );
+					newPendingInline.unshift( candidate );
 
 				// This node should be added to it's parent at this point. But,
@@ -316,4 +318,6 @@
 				if ( candidate == currentNode )
 					currentNode = currentNode.parent;
+
+				pendingInline = pendingInline.concat( newPendingInline );
 			}
 
