Index: /CKEditor/trunk/_source/core/dom/range.js
===================================================================
--- /CKEditor/trunk/_source/core/dom/range.js	(revision 3721)
+++ /CKEditor/trunk/_source/core/dom/range.js	(revision 3722)
@@ -620,4 +620,9 @@
 				}
 			}
+
+			// Sometimes the endNode will come right before startNode for collapsed
+			// ranges. Fix it. (#3780)
+			if ( startNode.getPosition( endNode ) & CKEDITOR.POSITION_FOLLOWING )
+				startNode = endNode;
 
 			return { startNode : startNode, endNode : endNode };
