Index: _whatsnew.html
===================================================================
--- _whatsnew.html	(revision 1691)
+++ _whatsnew.html	(working copy)
@@ -65,6 +65,9 @@
 			[<a target="_blank" href="http://dev.fckeditor.net/ticket/1985">#1985</a>] 
 			[<a target="_blank" href="http://dev.fckeditor.net/ticket/1989">#1989</a>] 
 			Fixed XHTML source formatting errors in non-IE browsers.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1647">#1647</a>] Pressing			
+			Enter inside formatted text in list items will now split the list item as well.
+			</li>
 	</ul>
 	<h3>
 		Version 2.6 Beta 1</h3>
Index: editor/_source/classes/fckenterkey.js
===================================================================
--- editor/_source/classes/fckenterkey.js	(revision 1691)
+++ editor/_source/classes/fckenterkey.js	(working copy)
@@ -400,8 +400,6 @@
 
 	var oSplitInfo = oRange.SplitBlock() ;
 
-	// FCKDebug.OutputObject( oSplitInfo ) ;
-
 	if ( oSplitInfo )
 	{
 		// Get the current blocks.
@@ -411,6 +409,23 @@
 		var bIsStartOfBlock	= oSplitInfo.WasStartOfBlock ;
 		var bIsEndOfBlock	= oSplitInfo.WasEndOfBlock ;
 
+		// If there is one block under a list item, modify the split so that the list item gets split as well. (Bug #1647)
+		if ( eNextBlock )
+		{
+			if ( eNextBlock.parentNode.nodeName.IEquals( 'li' ) )
+			{
+				FCKDomTools.BreakParent( eNextBlock, eNextBlock.parentNode ) ;
+				FCKDomTools.MoveNode( eNextBlock, eNextBlock.nextSibling, true ) ;
+			}
+		}
+		else if ( ePreviousBlock && ePreviousBlock.parentNode.nodeName.IEquals( 'li' ) )
+		{
+			FCKDomTools.BreakParent( ePreviousBlock, ePreviousBlock.parentNode ) ;
+			var eNewItem = ePreviousBlock.nextSibling ;
+			FCKDomTools.MoveNode( ePreviousBlock, ePreviousBlock.previousSibling ) ;
+			oRange.MoveToElementEditStart( eNewItem ) ;
+		}
+
 		// If we have both the previous and next blocks, it means that the
 		// boundaries were on separated blocks, or none of them where on the
 		// block limits (start/end).
