diff --git a/modules/field/field.info.inc b/modules/field/field.info.inc
index 02707f6..90b84ce 100644
--- a/modules/field/field.info.inc
+++ b/modules/field/field.info.inc
@@ -796,7 +796,14 @@ function field_info_max_weight($entity_type, $bundle, $context) {
   }
   // Collect weights for extra fields.
   foreach (field_info_extra_fields($entity_type, $bundle, $context) as $extra) {
-    $weights[] = $extra['weight'];
+    if ($context == 'form') {
+      $weights[] = $extra['weight'];
+    }
+    else {
+      foreach ($extra['display'] as $display_mode => $display) {
+        $weights[] = $display['weight'];
+      }
+    }
   }
 
   // Let other modules feedback about their own additions.
