Index: /CKEditor/trunk/CHANGES.html
===================================================================
--- /CKEditor/trunk/CHANGES.html	(revision 7038)
+++ /CKEditor/trunk/CHANGES.html	(revision 7039)
@@ -83,5 +83,5 @@
 		<li><a href="http://dev.ckeditor.com/ticket/6663">#6663</a> : Table caption that contains rich text is corrupted after an edit done with the Table Properties dialog window.</li>
 		<li><a href="http://dev.ckeditor.com/ticket/7192">#7192</a> : [IE] Selecting Paragraph Format in an empty editor without focus does not bring focus into the editor body.</li>
-		<li><a href="http://dev.ckeditor.com/ticket/7893">#7893</a> : [WebKit, Opera] It is impossible to link to anchors in the document.</li>
+		<li><a href="http://dev.ckeditor.com/ticket/7893">#7893</a> : [WebKit, Opera, IE&lt;8] It is impossible to link to anchors in the document.</li>
 		<li><a href="http://dev.ckeditor.com/ticket/7637">#7637</a> : Cursor position might in some cases cause problems after inserting a page break.</li>
 		<li><a href="http://dev.ckeditor.com/ticket/5314">#5314</a> : The <code>aria-selected</code> attribute is not removed when toolbar drop-down menu items are deselected.</li>
Index: /CKEditor/trunk/_source/plugins/link/dialogs/link.js
===================================================================
--- /CKEditor/trunk/_source/plugins/link/dialogs/link.js	(revision 7038)
+++ /CKEditor/trunk/_source/plugins/link/dialogs/link.js	(revision 7039)
@@ -245,21 +245,35 @@
 
 		// Find out whether we have any anchors in the editor.
-		var anchorList = new CKEDITOR.dom.nodeList( editor.document.$.anchors ),
-			anchors = retval.anchors = [],
+		var anchors = retval.anchors = [],
 			item;
 
-		for ( var i = 0, count = anchorList.count(); i < count; i++ )
-		{
-			item = anchorList.getItem( i );
-			anchors[ i ] = { name : item.getAttribute( 'name' ), id : item.getAttribute( 'id' ) };
+		// For some browsers we set contenteditable="false" on anchors, making document.anchors not to include them, so we must traverse the links manually (#7893).
+		if ( CKEDITOR.plugins.link.emptyAnchorFix )
+		{
+			var links = editor.document.getElementsByTag( 'a' );
+			for ( i = 0, count = links.count(); i < count; i++ )
+			{
+				item = links.getItem( i );
+				if ( item.data( 'cke-saved-name' ) || item.hasAttribute( 'name' ) )
+					anchors.push( { name : item.data( 'cke-saved-name' ) || item.getAttribute( 'name' ), id : item.getAttribute( 'id' ) } );
+			}
 		}
+		else
+		{
+			var anchorList = new CKEDITOR.dom.nodeList( editor.document.$.anchors );
+			for ( var i = 0, count = anchorList.count(); i < count; i++ )
+			{
+				item = anchorList.getItem( i );
+				anchors[ i ] = { name : item.getAttribute( 'name' ), id : item.getAttribute( 'id' ) };
+			}
+		}
 
 		if ( CKEDITOR.plugins.link.fakeAnchor )
 		{
-			var imgs = editor.document.getElementsByTag( 'img' ), anchor;
+			var imgs = editor.document.getElementsByTag( 'img' );
 			for ( i = 0, count = imgs.count(); i < count; i++ )
 			{
-				if ( ( anchor = CKEDITOR.plugins.link.tryRestoreFakeAnchor( editor, imgs.getItem( i ) ) ) )
-					anchors.push( { name : anchor.getAttribute( 'name' ), id : anchor.getAttribute( 'id' ) } );
+				if ( ( item = CKEDITOR.plugins.link.tryRestoreFakeAnchor( editor, imgs.getItem( i ) ) ) )
+					anchors.push( { name : item.getAttribute( 'name' ), id : item.getAttribute( 'id' ) } );
 			}
 		}
