diff --git a/link.module b/link.module
index 9e52de5..272f0b7 100644
--- a/link.module
+++ b/link.module
@@ -905,9 +905,17 @@ function link_content_migrate_field_alter(&$field_value, $instance_value) {
  * Widget type also changed to link_field.
  */
 function link_content_migrate_instance_alter(&$instance_value, $field_value) {
-  if ($instance_value['widget']['module'] == 'link'
-      && $instance_value['widget']['type'] == 'link') {
-    $instance_value['widget']['type'] = 'link_field';
+  if ($field_value['type'] == 'link') {
+    // Adjust widget type
+    if ($instance_value['widget']['type'] == 'link') {
+      $instance_value['widget']['type'] = 'link_field';
+    }
+    // Adjust formatter types.
+    foreach ($instance_value['display'] as $context => $settings) {
+      if (in_array($settings['type'], array('default', 'title_plain', 'url', 'plain', 'short', 'label', 'separate'))) {
+        $instance_value['display'][$context]['type'] = 'link_' . $settings['type'];
+      }
+    }
   }
 }
 
