Index: /FCKeditor/trunk/editor/_source/internals/fcktools.js
===================================================================
--- /FCKeditor/trunk/editor/_source/internals/fcktools.js	(revision 1098)
+++ /FCKeditor/trunk/editor/_source/internals/fcktools.js	(revision 1099)
@@ -460,10 +460,14 @@
 
 	// document.body is a special case when it comes to offsetTop and offsetLeft values.
-	// We can't just blindly sum it up in the while loop above.
-	if ( FCKDomTools.GetCurrentElementStyle( w, w.document.body, 'position') != 'static' )
+	// 1. It matters if document.body itself is a positioned element;
+	// 2. It matters is when we're in IE and the element has no positioned ancestor.
+	// Otherwise the values should be ignored.
+	if ( FCKDomTools.GetCurrentElementStyle( w, w.document.body, 'position') != 'static' 
+			|| ( FCKBrowserInfo.IsIE && FCKDomTools.GetPositionedAncestor( w, node ) == null ) )
 	{
 		x += w.document.body.offsetLeft ;
 		y += w.document.body.offsetTop ;
 	}
+
 	return { "x" : x, "y" : y } ;
 }
