Index: _whatsnew.html
===================================================================
--- _whatsnew.html	(revision 1239)
+++ _whatsnew.html	(working copy)
@@ -45,6 +45,8 @@
 	<ul>
 		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1643">#1643</a>] Resolved
 			several "strict warning" messages in Firefox when running FCKeditor.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1522">#1522</a>] The ENTER
+			key will now work properly in IE with the cursor at the start of a formatted block.</li>
 	</ul>
 	<p>
 		<a href="_whatsnew_history.html">See previous versions history</a>
Index: editor/_source/classes/fckdomrange_ie.js
===================================================================
--- editor/_source/classes/fckdomrange_ie.js	(revision 1232)
+++ editor/_source/classes/fckdomrange_ie.js	(working copy)
@@ -113,7 +113,7 @@
 	{
 		bIsStartMakerAlone = ( forceExpand || !eStartMarker.previousSibling || eStartMarker.previousSibling.nodeName.toLowerCase() == 'br' ) && !eStartMarker.nextSibing ;
 		
-		// Append a temporary <span>&nbsp;</span> before the selection.
+		// Append a temporary <span>&#65279;</span> before the selection.
 		// This is needed to avoid IE destroying selections inside empty
 		// inline elements, like <b></b> (#253).
 		// It is also needed when placing the selection right after an inline
@@ -143,7 +143,7 @@
 	{
 		if ( bIsStartMakerAlone )
 		{
-			// Move the selection start to include the temporary &nbsp;.
+			// Move the selection start to include the temporary &#65279;.
 			oIERange.moveStart( 'character', -1 ) ;
 			
 			oIERange.select() ;
Index: editor/_source/classes/fckenterkey.js
===================================================================
--- editor/_source/classes/fckenterkey.js	(revision 1232)
+++ editor/_source/classes/fckenterkey.js	(working copy)
@@ -414,7 +414,7 @@
 		// 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).
-		if ( !oSplitInfo.WasStartOfBlock && !oSplitInfo.WasEndOfBlock )
+		if ( !bIsStartOfBlock && !bIsEndOfBlock )
 		{
 			// If the next block is an <li> with another list tree as the first child
 			// We'll need to append a placeholder or the list item wouldn't be editable. (Bug #1420)
@@ -487,7 +487,7 @@
 			if ( FCKBrowserInfo.IsIE )
 			{
 				// Move the selection to the new block.
-				oRange.MoveToNodeContents( eNewBlock ) ;
+				oRange.MoveToElementEditStart( eNewBlock ) ;
 				oRange.Select() ;
 			}
 
