--- modules/field/field.info.class.inc	2013-04-03 23:29:52.000000000 +0200
+++ modules/field/field.info.class.inc	2016-11-16 19:53:45.000000000 +0100
@@ -612,10 +628,12 @@
     // Fill in default values.
     $display += array(
       'label' => 'above',
-      'type' => $field_type_info['default_formatter'],
       'settings' => array(),
       'weight' => 0,
     );
+    if (empty($display['type'])) {
+      $display['type'] = $field_type_info['default_formatter'];
+    }
     if ($display['type'] != 'hidden') {
       $formatter_type_info = field_info_formatter_types($display['type']);
       // Fall back to default formatter if formatter type is not available.
