Index: /FCKeditor/trunk/editor/_source/classes/fckdomrange.js
===================================================================
--- /FCKeditor/trunk/editor/_source/classes/fckdomrange.js	(revision 876)
+++ /FCKeditor/trunk/editor/_source/classes/fckdomrange.js	(revision 877)
@@ -536,8 +536,13 @@
 					oNode = this._Range.startContainer ;
 
-					// If it is an element, get the current child node for the range (in the offset).
-					// If the offset node is not available, the the first one.
+					// If it is an element, get the node right before of it (in source order).
 					if ( oNode.nodeType == 1 )
-						oNode = oNode.childNodes[ this._Range.startOffset ] || oNode.firstChild ;
+					{
+						var lastNode = oNode.childNodes[ this._Range.startOffset ] ;
+						if ( lastNode )
+							oNode = FCKDomTools.GetPreviousSourceNode( lastNode, true ) ;
+						else
+							oNode = oNode.lastChild || oNode ;
+					}
 
 					// We must look for the left boundary, relative to the range
