diff --git modules/file/file.field.inc modules/file/file.field.inc
index f83811d..0b75783 100644
--- modules/file/file.field.inc
+++ modules/file/file.field.inc
@@ -271,7 +271,7 @@ function file_field_update($entity_type, $entity, $field, $instance, $langcode,
   if (!empty($original->{$field['field_name']}[$langcode])) {
     foreach ($original->{$field['field_name']}[$langcode] as $original_item) {
       $original_fids[] = $original_item['fid'];
-      if (isset($original_item['fid']) && !in_array($original_item['fid'], $current_fids)) {
+      if (isset($original_item['fid']) && !empty($current_fids) && isset($current_fids[$original_item['fid'])) {
         // Decrement the file usage count by 1 and delete the file if possible.
         file_field_delete_file($original_item, $field, $entity_type, $id);
       }
