Index: _source/core/htmlparser/element.js
===================================================================
--- _source/core/htmlparser/element.js	(revision 6241)
+++ _source/core/htmlparser/element.js	(revision )
@@ -37,8 +37,15 @@
 	var tagName = attributes[ 'data-cke-real-element-type' ] || name;
 
 	var dtd			= CKEDITOR.dtd,
-		isBlockLike	= !!( dtd.$nonBodyContent[ tagName ] || dtd.$block[ tagName ] || dtd.$listItem[ tagName ] || dtd.$tableContent[ tagName ] || dtd.$nonEditable[ tagName ] || tagName == 'br' ),
+		isBlockLike	= !!( dtd.$nonBodyContent[ tagName ]
+				|| dtd.$block[ tagName ]
+				|| dtd.$listItem[ tagName ]
+				|| dtd.$tableContent[ tagName ]
+				|| dtd.$nonEditable[ tagName ]
+				|| tagName == 'br'
+				|| !dtd[ tagName ]
+				|| dtd.$customBlock[ tagName ] ),
-		isEmpty		= !!dtd.$empty[ name ];
+			isEmpty		= !!dtd.$empty[ name ];
 
 	this.isEmpty	= isEmpty;
 	this.isUnknown	= !dtd[ name ];
Index: _source/core/dtd.js
===================================================================
--- _source/core/dtd.js	(revision 6015)
+++ _source/core/dtd.js	(revision )
@@ -81,6 +81,11 @@
 		$blockLimit : { body:1,div:1,td:1,th:1,caption:1,form:1 },
 
 		/**
+		 * Custom element that are considered as block.
+		 */
+		$customBlock : { 'cke:li':1 },
+
+		/**
 		 * List of inline (&lt;span&gt; like) elements.
 		 */
 		$inline : L,	// Just like span.
