diff --git a/modules/field/field.attach.inc b/modules/field/field.attach.inc
index 3b15c76..420656b 100644
--- a/modules/field/field.attach.inc
+++ b/modules/field/field.attach.inc
@@ -209,7 +209,7 @@ function _field_invoke($op, $entity_type, $entity, &$a = NULL, &$b = NULL, $opti
 
         // Populate $items back in the field values, but avoid replacing missing
         // fields with an empty array (those are not equivalent on update).
-        if ($items !== array() || isset($entity->{$field_name}[$langcode])) {
+        if (!empty($items) || isset($entity->{$field_name}[$langcode])) {
           $entity->{$field_name}[$langcode] = $items;
         }
       }
@@ -348,7 +348,7 @@ function _field_invoke_multiple($op, $entity_type, $entities, &$a = NULL, &$b =
     // fields with an empty array (those are not equivalent on update).
     foreach ($grouped_entities[$field_id] as $id => $entity) {
       foreach ($grouped_items[$field_id] as $langcode => $items) {
-        if ($grouped_items[$field_id][$langcode][$id] !== array() || isset($entity->{$field_name}[$langcode])) {
+        if (!empty($grouped_items[$field_id][$langcode][$id]) || isset($entity->{$field_name}[$langcode])) {
           $entity->{$field_name}[$langcode] = $grouped_items[$field_id][$langcode][$id];
         }
       }
