Index: CKEditor/trunk/CHANGES.html
===================================================================
--- CKEditor/trunk/CHANGES.html	(revision 3807)
+++ CKEditor/trunk/CHANGES.html	(revision 3808)
@@ -93,4 +93,5 @@
 		<li><a href="http://dev.fckeditor.net/ticket/3639">#3639</a> : Button size was inconsistent.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/3874">#3874</a> : Paste as plain text in Safari loosing lines.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/3849">#3849</a> : Fixed IE8 crashes when applying lists and indenting.</li>
 	</ul>
 	<h3>
Index: CKEditor/trunk/_source/plugins/selection/plugin.js
===================================================================
--- CKEditor/trunk/_source/plugins/selection/plugin.js	(revision 3807)
+++ CKEditor/trunk/_source/plugins/selection/plugin.js	(revision 3808)
@@ -944,5 +944,5 @@
 		{
 			var collapsed = this.collapsed;
-			var isStartMakerAlone;
+			var isStartMarkerAlone;
 			var dummySpan;
 
@@ -977,17 +977,9 @@
 			else
 			{
-// The isStartMakerAlone logic comes from V2. It guarantees that the lines
-// will expand and that the cursor will be blinking on the right place.
-// Actually, we are using this flag just to avoid using this hack in all
-// situations, but just on those needed.
-
-// But, in V3, somehow it is not interested on working whe hitting SHIFT+ENTER
-// inside text. So, let's jsut leave the hack happen always.
-
-// I'm still leaving the code here just in case. We may find some other IE
-// weirdness and uncommenting this stuff may be useful.
-
-//				isStartMakerAlone = ( !startNode.hasPrevious() || ( startNode.getPrevious().is && startNode.getPrevious().is( 'br' ) ) )
-//					&& !startNode.hasNext();
+				// The isStartMarkerAlone logic comes from V2. It guarantees that the lines
+				// will expand and that the cursor will be blinking on the right place.
+				// Actually, we are using this flag just to avoid using this hack in all
+				// situations, but just on those needed.
+				isStartMarkerAlone = !startNode.hasPrevious() || ( startNode.getPrevious().is && startNode.getPrevious().is( 'br' ) );
 
 				// Append a temporary <span>&#65279;</span> before the selection.
@@ -1000,6 +992,6 @@
 				dummySpan.insertBefore( startNode );
 
-//				if ( isStartMakerAlone )
-//				{
+				if ( isStartMarkerAlone )
+				{
 					// To expand empty blocks or line spaces after <br>, we need
 					// instead to have any char, which will be later deleted using the
@@ -1007,5 +999,5 @@
 					// \ufeff = Zero Width No-Break Space (U+FEFF). (#1359)
 					this.document.createText( '\ufeff' ).insertBefore( startNode );
-//				}
+				}
 			}
 
@@ -1016,6 +1008,6 @@
 			if ( collapsed )
 			{
-//				if ( isStartMakerAlone )
-//				{
+				if ( isStartMarkerAlone )
+				{
 					// Move the selection start to include the temporary \ufeff.
 					ieRange.moveStart( 'character', -1 );
@@ -1025,7 +1017,7 @@
 					// Remove our temporary stuff.
 					this.document.$.selection.clear();
-//				}
-//				else
-//					ieRange.select();
+				}
+				else
+					ieRange.select();
 
 				dummySpan.remove();
