Index: /FCKeditor/trunk/editor/_source/classes/fckdomrange.js
===================================================================
--- /FCKeditor/trunk/editor/_source/classes/fckdomrange.js	(revision 984)
+++ /FCKeditor/trunk/editor/_source/classes/fckdomrange.js	(revision 985)
@@ -191,5 +191,20 @@
 		oTestRange.SetStart( oTestRange.StartBlock || oTestRange.StartBlockLimit, 1 ) ;
 
-		bIsStartOfBlock = oTestRange.CheckIsEmpty() ;
+		if ( oTestRange.CheckIsCollapsed() )
+			bIsStartOfBlock = true ;
+		else
+		{
+			// Inserts the contents of the range in a div tag.
+			var eToolDiv = oTestRange.Window.document.createElement( 'div' ) ;
+			oTestRange._Range.cloneContents().AppendTo( eToolDiv ) ;
+
+			// This line is why we don't use CheckIsEmpty() here...
+			// Because using RTrimNode() or TrimNode() would be incorrect - 
+			// TrimNode() and RTrimNode() would delete <br> nodes at the end of the div node,
+			// but for checking start of block they are actually meaningful. (Bug #1350)
+			FCKDomTools.LTrimNode( eToolDiv ) ;
+
+			bIsStartOfBlock = ( eToolDiv.innerHTML.length == 0 ) ;
+		}
 
 		oTestRange.Release() ;
