Index: /FCKeditor/trunk/editor/_source/internals/fckdomtools.js
===================================================================
--- /FCKeditor/trunk/editor/_source/internals/fckdomtools.js	(revision 599)
+++ /FCKeditor/trunk/editor/_source/internals/fckdomtools.js	(revision 600)
@@ -37,8 +37,4 @@
 	TrimNode : function( node, ignoreEndBRs )
 	{
-		// If the node is a <pre>, ignore. Whitespaces in the beginning or tail of a <pre> tag
-		// shows up as in HTML code so we shouldn't delete them.
-		if ( node.nodeType == 1 && node.tagName.toLowerCase() == 'pre' )
-			return ;
 		this.LTrimNode( node ) ;
 		this.RTrimNode( node, ignoreEndBRs ) ;
Index: /FCKeditor/trunk/editor/_source/internals/fckxhtml.js
===================================================================
--- /FCKeditor/trunk/editor/_source/internals/fckxhtml.js	(revision 599)
+++ /FCKeditor/trunk/editor/_source/internals/fckxhtml.js	(revision 600)
@@ -138,5 +138,5 @@
 	// Trim block elements. This is also needed to avoid Firefox leaving extra
 	// BRs at the end of them.
-	if ( isBlockElement )
+	if ( isBlockElement && htmlNode.tagName && htmlNode.tagName.toLowerCase() != 'pre' )
 		FCKDomTools.TrimNode( xmlNode, true ) ;
 
