diff --git a/modules/field/field.info.inc b/modules/field/field.info.inc
index 78bc62e..98affa0 100644
--- a/modules/field/field.info.inc
+++ b/modules/field/field.info.inc
@@ -362,7 +362,12 @@ function _field_info_prepare_instance_display($field, $display) {
       $display['type'] = $field_type['default_formatter'];
       $formatter_type = field_info_formatter_types($display['type']);
     }
-    $display['module'] = $formatter_type['module'];
+    if (!isset($formatter_type['module'])) {
+        $default_formatter_type = $formatter_type[$field_type['default_formatter']];
+        $display['module'] = $default_formatter_type['module'];
+    } else {
+        $display['module'] = $formatter_type['module'];
+    }  
     // Fill in default settings for the formatter.
     $display['settings'] += field_info_formatter_settings($display['type']);
   }
