Index: /FCKeditor/trunk/editor/_source/internals/fck.js
===================================================================
--- /FCKeditor/trunk/editor/_source/internals/fck.js	(revision 1061)
+++ /FCKeditor/trunk/editor/_source/internals/fck.js	(revision 1062)
@@ -287,4 +287,7 @@
 		html = html.replace( FCKRegexLib.ProtectUrlsImg	, '$& _fcksavedurl=$1' ) ;
 
+		// <AREA> href
+		html = html.replace( FCKRegexLib.ProtectUrlsArea	, '$& _fcksavedurl=$1' ) ;
+
 		return html ;
 	},
Index: /FCKeditor/trunk/editor/_source/internals/fckregexlib.js
===================================================================
--- /FCKeditor/trunk/editor/_source/internals/fckregexlib.js	(revision 1061)
+++ /FCKeditor/trunk/editor/_source/internals/fckregexlib.js	(revision 1062)
@@ -75,4 +75,5 @@
 ProtectUrlsImg	: /<img(?=\s).*?\ssrc=((?:(?:\s*)("|').*?\2)|(?:[^"'][^ >]+))/gi ,
 ProtectUrlsA	: /<a(?=\s).*?\shref=((?:(?:\s*)("|').*?\2)|(?:[^"'][^ >]+))/gi ,
+ProtectUrlsArea	: /<area(?=\s).*?\shref=((?:(?:\s*)("|').*?\2)|(?:[^"'][^ >]+))/gi ,
 
 Html4DocType	: /HTML 4\.0 Transitional/i ,
Index: /FCKeditor/trunk/editor/_source/internals/fckxhtml.js
===================================================================
--- /FCKeditor/trunk/editor/_source/internals/fckxhtml.js	(revision 1061)
+++ /FCKeditor/trunk/editor/_source/internals/fckxhtml.js	(revision 1062)
@@ -453,5 +453,33 @@
 		node.removeAttribute( 'spellcheck' ) ;
 		return node ;
-	}
+	},
+
+	area : function( node, htmlNode )
+	{
+		var sSavedUrl = htmlNode.getAttribute( '_fcksavedurl' ) ;
+		if ( sSavedUrl != null )
+			FCKXHtml._AppendAttribute( node, 'href', sSavedUrl ) ;
+
+		// IE ignores the "COORDS" and "SHAPE" attribute so we must add it manually.
+		if ( FCKBrowserInfo.IsIE )
+		{
+			if ( ! node.attributes.getNamedItem( 'coords' ) )
+			{
+				var sCoords = htmlNode.getAttribute( 'coords', 2 ) ;
+				if ( sCoords && sCoords != '0,0,0' )
+					FCKXHtml._AppendAttribute( node, 'coords', sCoords ) ;
+			}
+
+			if ( ! node.attributes.getNamedItem( 'shape' ) )
+			{
+				var sShape = htmlNode.getAttribute( 'shape', 2 ) ;
+				if ( sShape && sShape.length > 0 )
+					FCKXHtml._AppendAttribute( node, 'shape', sShape.toLowerCase() ) ;
+			}
+		}
+
+		return node ;
+	}
+
 } ;
 
Index: /FCKeditor/trunk/editor/_source/internals/fckxhtml_ie.js
===================================================================
--- /FCKeditor/trunk/editor/_source/internals/fckxhtml_ie.js	(revision 1061)
+++ /FCKeditor/trunk/editor/_source/internals/fckxhtml_ie.js	(revision 1062)
@@ -139,24 +139,4 @@
 }
 
-// IE ignores the "COORDS" and "SHAPE" attribute so we must add it manually.
-FCKXHtml.TagProcessors['area'] = function( node, htmlNode )
-{
-	if ( ! node.attributes.getNamedItem( 'coords' ) )
-	{
-		var sCoords = htmlNode.getAttribute( 'coords', 2 ) ;
-		if ( sCoords && sCoords != '0,0,0' )
-			FCKXHtml._AppendAttribute( node, 'coords', sCoords ) ;
-	}
-
-	if ( ! node.attributes.getNamedItem( 'shape' ) )
-	{
-		var sShape = htmlNode.getAttribute( 'shape', 2 ) ;
-		if ( sShape && sShape.length > 0 )
-			FCKXHtml._AppendAttribute( node, 'shape', sShape.toLowerCase() ) ;
-	}
-
-	return node ;
-}
-
 FCKXHtml.TagProcessors['label'] = function( node, htmlNode )
 {
@@ -207,2 +187,17 @@
 	return node ;
 }
+
+// Fix behavior for IE, it doesn't read back the .name on newly created maps 
+FCKXHtml.TagProcessors['map'] = function( node, htmlNode )
+{
+	if ( ! node.attributes.getNamedItem( 'name' ) )
+	{
+		var name = htmlNode.name ;
+		if ( name )
+			FCKXHtml._AppendAttribute( node, 'name', name ) ;
+	}
+
+	node = FCKXHtml._AppendChildNodes( node, htmlNode, true ) ;
+
+	return node ;
+}
