Index: /FCKeditor/trunk/editor/_source/internals/fckxhtml.js
===================================================================
--- /FCKeditor/trunk/editor/_source/internals/fckxhtml.js	(revision 1031)
+++ /FCKeditor/trunk/editor/_source/internals/fckxhtml.js	(revision 1032)
@@ -378,18 +378,11 @@
 	pre : function ( node, htmlNode )
 	{
-		for ( var i = 0 ; i < htmlNode.childNodes.length ; i++ )
-		{
-			var item = htmlNode.childNodes[i] ;
-			var val = item.nodeValue ;
-			if ( item.nodeType == 3 && i == 0 )
-			{
-				// We shouldn't put the plain text value of the text node directly into HTML. (See #1414)
-				var dummyNode = document.createElement( 'pre' ) ;
-				dummyNode.appendChild( document.createTextNode( val ) ) ;
-				node.appendChild( FCKXHtml.XML.createTextNode( FCKXHtml._AppendSpecialItem( '\r\n' + dummyNode.innerHTML ) ) ) ;
-			}
-			else
-				FCKXHtml._AppendNode( node, item ) ;
-		}
+		var firstChild = htmlNode.firstChild ;
+
+		if ( firstChild && firstChild.nodeType == 3 )
+			node.appendChild( FCKXHtml.XML.createTextNode( FCKXHtml._AppendSpecialItem( '\r\n' ) ) ) ;
+
+		FCKXHtml._AppendChildNodes( node, htmlNode, true ) ;
+
 		return node ;
 	},
