Index: /CKEditor/trunk/CHANGES.html
===================================================================
--- /CKEditor/trunk/CHANGES.html	(revision 3988)
+++ /CKEditor/trunk/CHANGES.html	(revision 3989)
@@ -197,4 +197,5 @@
 		<li><a href="http://dev.fckeditor.net/ticket/3622">#3622</a> : The toolbar in the v2 
 			skin was wrapping improperly in some languages.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/4119">#4119</a> : Unable to edit image link with image dialog.</li> 
 	</ul>
 	<h3>
Index: /CKEditor/trunk/_source/plugins/image/dialogs/image.js
===================================================================
--- /CKEditor/trunk/_source/plugins/image/dialogs/image.js	(revision 3988)
+++ /CKEditor/trunk/_source/plugins/image/dialogs/image.js	(revision 3989)
@@ -210,5 +210,7 @@
 
 				var editor = this.getParentEditor(),
-					element = this.getParentEditor().getSelection().getSelectedElement();
+					sel = this.getParentEditor().getSelection(),
+					element = sel.getSelectedElement(),
+					link = element && element.getAscendant( 'a' );
 
 				// Copy of the image
@@ -217,11 +219,11 @@
 				this.originalElement.setCustomData( 'isReady', 'false' );
 
-				if ( element && element.getName() == 'a' )
-				{
-					this.linkElement = element;
+				if ( link )
+				{
+					this.linkElement = link;
 					this.linkEditMode = true;
 
 					// Look for Image element.
-					var linkChildren = element.getChildren();
+					var linkChildren = link.getChildren();
 					if ( linkChildren.count() == 1 )			// 1 child.
 					{
@@ -238,7 +240,8 @@
 					// Fill out all fields.
 					if ( dialogType == 'image' )
-						this.setupContent( LINK, element );
+						this.setupContent( LINK, link );
 				}
-				else if ( element && element.getName() == 'img' && !element.getAttribute( '_cke_protected_html' ) )
+
+				if ( element && element.getName() == 'img' && !element.getAttribute( '_cke_protected_html' ) )
 					this.imageEditMode = 'img';
 				else if ( element && element.getName() == 'input' && element.getAttribute( 'type' ) && element.getAttribute( 'type' ) == 'image' )
