diff --git a/core/lib/Drupal/Core/Entity/EntityStorageBase.php b/core/lib/Drupal/Core/Entity/EntityStorageBase.php
index b181bb4..43451cc 100644
--- a/core/lib/Drupal/Core/Entity/EntityStorageBase.php
+++ b/core/lib/Drupal/Core/Entity/EntityStorageBase.php
@@ -339,20 +339,26 @@ public function delete(array $entities) {
       return;
     }
 
+    // Ensure that the entities are keyed by ID.
+    $keyed_entities = array();
+    foreach ($entities as $entity) {
+      $keyed_entities[$entity->id()] = $entity;
+    }
+
     // Allow code to run before deleting.
     $entity_class = $this->entityClass;
-    $entity_class::preDelete($this, $entities);
-    foreach ($entities as $entity) {
+    $entity_class::preDelete($this, $keyed_entities);
+    foreach ($keyed_entities as $entity) {
       $this->invokeHook('predelete', $entity);
     }
 
     // Perform the delete and reset the static cache for the deleted entities.
-    $this->doDelete($entities);
-    $this->resetCache(array_keys($entities));
+    $this->doDelete($keyed_entities);
+    $this->resetCache(array_keys($keyed_entities));
 
     // Allow code to run after deleting.
-    $entity_class::postDelete($this, $entities);
-    foreach ($entities as $entity) {
+    $entity_class::postDelete($this, $keyed_entities);
+    foreach ($keyed_entities as $entity) {
       $this->invokeHook('delete', $entity);
     }
   }
diff --git a/core/lib/Drupal/Core/Entity/KeyValueStore/KeyValueEntityStorage.php b/core/lib/Drupal/Core/Entity/KeyValueStore/KeyValueEntityStorage.php
index 3d34f76..0a77ffd 100644
--- a/core/lib/Drupal/Core/Entity/KeyValueStore/KeyValueEntityStorage.php
+++ b/core/lib/Drupal/Core/Entity/KeyValueStore/KeyValueEntityStorage.php
@@ -147,10 +147,7 @@ public function deleteRevision($revision_id) {
    * {@inheritdoc}
    */
   public function doDelete($entities) {
-    $entity_ids = array();
-    foreach ($entities as $entity) {
-      $entity_ids[] = $entity->id();
-    }
+    $entity_ids = array_keys($entities);
     $this->keyValueStore->deleteMultiple($entity_ids);
   }
 
