Index: /CKEditor/trunk/CHANGES.html
===================================================================
--- /CKEditor/trunk/CHANGES.html	(revision 5993)
+++ /CKEditor/trunk/CHANGES.html	(revision 5994)
@@ -154,4 +154,5 @@
 		<li><a href="http://dev.ckeditor.com/ticket/6501">#6501</a> : [IE9] Context menu item layout is broken.</li>
 		<li><a href="http://dev.ckeditor.com/ticket/5730">#5730</a> : [Safari] Continual pastes (holding paste key) breaks document contents.</li>
+		<li><a href="http://dev.ckeditor.com/ticket/5850">#5850</a> : [IE] Inline style misbehaviors at the beginning of numbered/bulleted list.</li>
 		<li>Updated the following language files:<ul>
 			<li><a href="http://dev.ckeditor.com/ticket/6246">#6246</a> : Chinese Simplified;</li>
Index: /CKEditor/trunk/_source/plugins/selection/plugin.js
===================================================================
--- /CKEditor/trunk/_source/plugins/selection/plugin.js	(revision 5993)
+++ /CKEditor/trunk/_source/plugins/selection/plugin.js	(revision 5994)
@@ -664,4 +664,11 @@
 							range.setEnd( new CKEDITOR.dom.node( boundaryInfo.container ), boundaryInfo.offset );
 
+							// Correct an invalid IE range case on empty list item. (#5850)
+							if ( range.endContainer.getPosition( range.startContainer ) & CKEDITOR.POSITION_PRECEDING
+									&& range.endOffset <= range.startContainer.getIndex() )
+							{
+								range.collapse();
+							}
+
 							return [ range ];
 						}
@@ -879,5 +886,5 @@
 
 							if ( !node || node.type != CKEDITOR.NODE_ELEMENT )
-								return range.startContainer;
+								node = range.startContainer;
 
 							var child = node.getFirst();
@@ -887,22 +894,13 @@
 								child = child.getFirst();
 							}
-
-							return node;
-						}
-					}
-
-					if ( CKEDITOR.env.ie )
-					{
-						range = sel.createRange();
-						range.collapse( 1 );
-
-						node = range.parentElement();
-					}
-					else
-					{
-						node = sel.anchorNode;
-
-						if ( node && node.nodeType != 1 )
-							node = node.parentNode;
+						}
+						else
+						{
+							node = range.startContainer;
+							if ( node.type != CKEDITOR.NODE_ELEMENT )
+								node = node.getParent();
+						}
+
+						node = node.$;
 					}
 			}
