diff --git a/core/modules/entity/src/EntityDisplayBase.php b/core/modules/entity/src/EntityDisplayBase.php
index a9b99d2..043be0f 100644
--- a/core/modules/entity/src/EntityDisplayBase.php
+++ b/core/modules/entity/src/EntityDisplayBase.php
@@ -297,6 +297,11 @@ public function setComponent($name, array $options = array()) {
       $options = $this->pluginManager->prepareConfiguration($field_definition->getType(), $options);
     }
 
+    // Ensure we always have an empty settings array.
+    if (!isset($options['settings'])) {
+      $options['settings'] = array();
+    }
+
     $this->content[$name] = $options;
     unset($this->hidden[$name]);
     unset($this->plugins[$name]);
