Index: /FCKeditor/branches/features/div_container/editor/_source/internals/fckdomtools.js
===================================================================
--- /FCKeditor/branches/features/div_container/editor/_source/internals/fckdomtools.js	(revision 2199)
+++ /FCKeditor/branches/features/div_container/editor/_source/internals/fckdomtools.js	(revision 2200)
@@ -1041,7 +1041,12 @@
 		do
 		{
-			if ( currentNode.nodeName.IEquals( 'div' ) && currentNode.firstChild &&
-					FCKListsLib.BlockElements[ currentNode.firstChild.nodeName.toLowerCase() ] )
-			{
+			var child = currentNode.firstChild ;
+			while ( child && child.nodeType != 1 )
+				child = child.nextSibling ;
+
+			if ( currentNode.nodeName.IEquals( 'div' ) && child &&
+					FCKListsLib.BlockElements[ child.nodeName.toLowerCase() ] )
+			{
+				// This is a block limit node.
 				currentBlocks.push( currentNode ) ;
 				if ( currentNode.parentNode.nodeName.IEquals( 'div' ) )
@@ -1049,4 +1054,10 @@
 							'_fckignorethisnode', true ) ;
 			}
+			else
+			{
+				// This is not a block limit node.
+				FCKDomTools.SetElementMarker( elementMarkers, currentNode.parentNode,
+						'_fckincludethisnode', true ) ;
+			}
 		}
 		while ( ( currentNode = FCKDomTools.GetNextSourceElement( currentNode ) ) && currentNode != endNode
@@ -1055,5 +1066,5 @@
 		for ( var i = currentBlocks.length - 1 ; i >= 0 ; i-- )
 		{
-			if ( currentBlocks[i]['_fckignorethisnode'] )
+			if ( currentBlocks[i]['_fckignorethisnode'] && !currentBlocks[i]['_fckincludethisnode'] )
 				currentBlocks.splice( i, 1 ) ;
 		}
