diff --git modules/field/field.crud.inc modules/field/field.crud.inc
index eda3218..27b1638 100644
--- modules/field/field.crud.inc
+++ modules/field/field.crud.inc
@@ -363,7 +363,11 @@ function field_read_fields($params = array(), $include_additional = array()) {
     $field['translatable'] = $record['translatable'];
     $field['deleted'] = $record['deleted'];
 
-    module_invoke_all('field_read_field', $field);
+    // Manually invoke since $field is passed by reference.
+    foreach(module_implements('field_read_field') as $module) {
+      $function = $module . '_field_read_field';
+      $function($field);
+    }
 
     // Populate storage information.
     module_load_install($field['module']);
