Index: CKEditor/trunk/CHANGES.html
===================================================================
--- CKEditor/trunk/CHANGES.html	(revision 4995)
+++ CKEditor/trunk/CHANGES.html	(revision 4997)
@@ -41,4 +41,5 @@
 	<ul>
 		<li><a href="http://dev.fckeditor.net/ticket/4399">#4399</a> : Improved support for external file browsers by allowing to execute a callback function.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/4612">#4612</a> : Update text view when user changes protocol.</li>
 	</ul>
 	<p>
Index: CKEditor/trunk/_source/plugins/link/dialogs/link.js
===================================================================
--- CKEditor/trunk/_source/plugins/link/dialogs/link.js	(revision 4995)
+++ CKEditor/trunk/_source/plugins/link/dialogs/link.js	(revision 4997)
@@ -1325,5 +1325,7 @@
 			{
 				// We're only editing an existing link, so just overwrite the attributes.
-				var element = this._.selectedElement;
+				var element = this._.selectedElement,
+					href = element.getAttribute( '_cke_saved_href' ),
+					textView = element.getHtml();
 
 				// IE BUG: Setting the name attribute to an existing link doesn't work.
@@ -1346,5 +1348,7 @@
 				element.setAttributes( attributes );
 				element.removeAttributes( removeAttributes );
-
+				// Update text view when user changes protocol #4612.
+				if (href == textView)
+					element.setHtml( attributes._cke_saved_href );
 				// Make the element display as an anchor if a name has been set.
 				if ( element.getAttribute( 'name' ) )
