diff --git a/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorageSchema.php b/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorageSchema.php
index de6910f..f043ea2 100644
--- a/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorageSchema.php
+++ b/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorageSchema.php
@@ -187,14 +187,14 @@ public function requiresEntityDataMigration(EntityTypeInterface $entity_type, En
       return FALSE;
     }
 
-    return
-      // If the original storage class is different, then there might be
-      // existing entities in that storage even if the new storage's base
-      // table is empty.
-      // @todo Ask the old storage handler rather than assuming:
-      //   https://www.drupal.org/node/2335879.
-      $entity_type->getStorageClass() != $original_storage_class ||
-      !$this->isTableEmpty($this->storage->getBaseTable());
+    // If the original storage class is different, then there might be
+    // existing entities in that storage even if the new storage's base
+    // table is empty.
+    if ($entity_type->getStorageClass() != $original_storage_class) {
+      $original_storage = $original_storage_class::createInstance(\Drupal::getContainer(), $entity_type);
+      return !$this->isTableEmpty($original_storage->getBaseTable());
+    }
+    return !$this->isTableEmpty($this->storage->getBaseTable());
   }
 
   /**
