Index: /FCKeditor/trunk/editor/_source/classes/fckenterkey.js
===================================================================
--- /FCKeditor/trunk/editor/_source/classes/fckenterkey.js	(revision 820)
+++ /FCKeditor/trunk/editor/_source/classes/fckenterkey.js	(revision 821)
@@ -359,5 +359,5 @@
 
 	var oSplitInfo = oRange.SplitBlock() ;
-
+	
 	if ( oSplitInfo )
 	{
@@ -401,5 +401,6 @@
 				{
 					// Otherwise, duplicate the previous block.
-					eNewBlock = ePreviousBlock.cloneNode( false ) ;
+					eNewBlock = FCKDomTools.CloneElement( ePreviousBlock ) ;
+
 					this._RecreateEndingTree( ePreviousBlock, eNewBlock ) ;
 				}
@@ -407,5 +408,5 @@
 			else if ( eNextBlock )
 			{
-				eNewBlock = eNextBlock.cloneNode( false ) ;
+				eNewBlock = FCKDomTools.CloneElement( eNextBlock ) ;
 			}
 			else
@@ -536,5 +537,5 @@
 {
 	while ( ( source = source.lastChild ) && source.nodeType == 1 && FCKListsLib.InlineChildReqElements[ source.nodeName.toLowerCase() ] != null )
-		target = target.insertBefore( source.cloneNode( false ), target.firstChild ) ;
+		target = target.insertBefore( FCKDomTools.CloneElement( source ), target.firstChild ) ;
 }
 
Index: /FCKeditor/trunk/editor/_source/internals/fckdomtools.js
===================================================================
--- /FCKeditor/trunk/editor/_source/internals/fckdomtools.js	(revision 820)
+++ /FCKeditor/trunk/editor/_source/internals/fckdomtools.js	(revision 821)
@@ -531,4 +531,14 @@
 		
 		range.Release( !!reusableRange ) ;
+	},
+	
+	CloneElement : function( element )
+	{
+		element = element.cloneNode( false ) ;
+		
+		// The "id" attribute should never be cloned to avoid duplication.
+		element.removeAttribute( 'id', false ) ;
+		
+		return element ;
 	}
 } ;
