diff --git entity/entity.controller.inc entity/entity.controller.inc
index ad7d9e6..f8d142f 100644
--- entity/entity.controller.inc
+++ entity/entity.controller.inc
@@ -275,7 +275,7 @@ class EntityAPIController extends DrupalDefaultEntityController implements Entit
         }
       }
     }
-    $entities = is_array($ids) ? array_intersect_key($this->defaultEntities, array_flip($ids)) : $this->defaultEntities;
+    $entities = (is_array($ids) && !empty($ids)) ? array_intersect_key($this->defaultEntities, array_flip($ids)) : $this->defaultEntities;
     if (!$this->defaultsFiltered && $conditions && $entities) {
       // Remove overridden entities. This is not necessary for pure id based
       // lookups though, as in this case overridden entities would get
