diff --git a/core/lib/Drupal/Core/Entity/Plugin/DataType/EntityAdapter.php b/core/lib/Drupal/Core/Entity/Plugin/DataType/EntityAdapter.php
index db194b5485..86f61a16e1 100644
--- a/core/lib/Drupal/Core/Entity/Plugin/DataType/EntityAdapter.php
+++ b/core/lib/Drupal/Core/Entity/Plugin/DataType/EntityAdapter.php
@@ -167,7 +167,7 @@ public function applyDefaultValue($notify = TRUE) {
    * {@inheritdoc}
    */
   public function getIterator() {
-    return isset($this->entity) ? $this->entity->getIterator() : new \ArrayIterator([]);
+    return (isset($this->entity) && method_exists($this->entity, 'getIterator')) ? $this->entity->getIterator() : new \ArrayIterator([]);
   }
 
 }
