Index: /CKEditor/trunk/CHANGES.html
===================================================================
--- /CKEditor/trunk/CHANGES.html	(revision 3942)
+++ /CKEditor/trunk/CHANGES.html	(revision 3943)
@@ -160,5 +160,6 @@
 		<li><a href="http://dev.fckeditor.net/ticket/3992">#3992</a> : Fixed the 
 			ckeditor2.html test case.</li>
-		<li><a href="http://dev.fckeditor.net/ticket/3989">#3989</a> : Host page horizontal scrolling a lot when on having righ-to-left direction.</li>		
+		<li><a href="http://dev.fckeditor.net/ticket/3989">#3989</a> : Host page horizontal scrolling a lot when on having righ-to-left direction.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/4001">#4001</a> : Create link around existing image result incorrect.</li>		
 	</ul>
 	<h3>
Index: /CKEditor/trunk/_source/plugins/link/dialogs/link.js
===================================================================
--- /CKEditor/trunk/_source/plugins/link/dialogs/link.js	(revision 3942)
+++ /CKEditor/trunk/_source/plugins/link/dialogs/link.js	(revision 3943)
@@ -1022,14 +1022,14 @@
 					selection.selectElement( element );
 				}
+				else if ( ( element = rangeRoot.getAscendant( 'img', true ) ) &&
+						 element.getAttribute( '_cke_real_element_type' ) &&
+						 element.getAttribute( '_cke_real_element_type' ) == 'anchor' )
+				{
+					this.fakeObj = element;
+					element = editor.restoreRealElement( this.fakeObj );
+					selection.selectElement( this.fakeObj );
+				}
 				else
-				{
-					element = rangeRoot.getAscendant( 'img', true );
-					if ( element && element.getAttribute( '_cke_real_element_type' ) && element.getAttribute( '_cke_real_element_type' ) == 'anchor' )
-					{
-						this.fakeObj = element;
-						element = editor.restoreRealElement( this.fakeObj );
-						selection.selectElement( this.fakeObj );
-					}
-				}
+					element = null;
 			}
 
