diff --git a/includes/entity.wrapper.inc b/includes/entity.wrapper.inc
index 3e3c150..0ab678a 100644
--- a/includes/entity.wrapper.inc
+++ b/includes/entity.wrapper.inc
@@ -1000,9 +1000,10 @@ class EntityListWrapper extends EntityMetadataWrapper implements IteratorAggrega
     // Generic entity-wrappers need to be handled separately though.
     if ($this->isEntityList && empty($options['identifier']) && $this->dataAvailable()) {
       $list = parent::value();
-      $entities = $list ? entity_load($this->get(0)->type, $list) : array();
+      $existing_list = array_filter($list, array($this, 'filter_objects'));
+      $entities = $existing_list ? entity_load($this->get(0)->type, $existing_list) : array();
       // Make sure to keep the array keys as present in the list.
-      foreach ($list as $key => $id) {
+      foreach ($existing_list as $key => $id) {
         // In case the entity cannot be loaded, we return NULL just as for empty
         // properties.
         $list[$key] = isset($entities[$id]) ? $entities[$id] : NULL;
@@ -1011,6 +1012,13 @@ class EntityListWrapper extends EntityMetadataWrapper implements IteratorAggrega
     }
     return parent::value();
   }
+  
+  /**
+   * This will filter out all objects only leave the keys.
+   */
+  private function filter_objects($value) {
+    return !($value instanceof Entity);
+  }
 
   public function set($values) {
     // Support setting lists of fully loaded entities.
