Index: _source/plugins/wysiwygarea/plugin.js
===================================================================
--- _source/plugins/wysiwygarea/plugin.js	(revision 5242)
+++ _source/plugins/wysiwygarea/plugin.js	Tue Mar 16 23:49:42 CST 2010
@@ -161,6 +161,13 @@
 			   && CKEDITOR.tools.trim( node.getText() ).match( /^(?:&nbsp;|\xa0)$/ );
 	}
 
+	function restoreSelection( selection )
+	{
+		var locked = selection.isLocked;
+		locked && selection.unlock();
+		setTimeout( function() { locked && selection.lock(); }, 0 );
+	}
+
 	/**
 	 *  Auto-fixing block-less content by wrapping paragraph (#3190), prevent
 	 *  non-exitable-block by padding extra br.(#3189)
@@ -183,6 +190,8 @@
 			 && !path.block )
 		{
 			restoreDirty( editor );
+			CKEDITOR.env.ie && restoreSelection( selection );
+
 			var fixedBlock = range.fixBlock( true,
 					editor.config.enterMode == CKEDITOR.ENTER_DIV ? 'div' : 'p'  );
 
@@ -225,6 +234,8 @@
 		if ( lastNode && lastNode.getName && ( lastNode.getName() in nonExitableElementNames ) )
 		{
 			restoreDirty( editor );
+			CKEDITOR.env.ie && restoreSelection( selection );
+
 			if ( !CKEDITOR.env.ie )
 				body.appendBogus();
 			else
