Index: /FCKeditor/trunk/editor/_source/classes/fckenterkey.js
===================================================================
--- /FCKeditor/trunk/editor/_source/classes/fckenterkey.js	(revision 1151)
+++ /FCKeditor/trunk/editor/_source/classes/fckenterkey.js	(revision 1152)
@@ -292,5 +292,5 @@
 			range.SetStart( previous, 2, true ) ;
 			range.Collapse( true ) ;
-			var oBookmark = range.CreateBookmark() ;
+			var oBookmark = range.CreateBookmark( true ) ;
 
 			// Move the contents of the block to the previous element and delete it.
@@ -301,6 +301,5 @@
 
 			// Place the selection at the bookmark.
-			range.MoveToBookmark( oBookmark ) ;
-			range.Select() ;
+			range.SelectBookmark( oBookmark ) ;
 
 			bCustom = true ;
@@ -343,5 +342,5 @@
 
 		var eNext = FCKDomTools.GetNextSourceElement( oCurrentBlock, true, [ oRange.StartBlockLimit.nodeName ],
-				['UL','OL','TR'] ) ;
+				['UL','OL','TR'], true ) ;
 
 		// Bug #1323 : if we're in a table cell, and the next node belongs to a different cell, then don't
Index: /FCKeditor/trunk/editor/_source/internals/fckdomtools.js
===================================================================
--- /FCKeditor/trunk/editor/_source/internals/fckdomtools.js	(revision 1151)
+++ /FCKeditor/trunk/editor/_source/internals/fckdomtools.js	(revision 1152)
@@ -243,7 +243,7 @@
 	 *				must be ignored during the search.
 	 */
-	GetNextSourceElement : function( currentNode, ignoreSpaceTextOnly, stopSearchElements, ignoreElements )
-	{
-		while( ( currentNode = this.GetNextSourceNode( currentNode, false ) ) )	// Only one "=".
+	GetNextSourceElement : function( currentNode, ignoreSpaceTextOnly, stopSearchElements, ignoreElements, startFromSibling )
+	{
+		while( ( currentNode = this.GetNextSourceNode( currentNode, startFromSibling ) ) )	// Only one "=".
 		{
 			if ( currentNode.nodeType == 1 )
