diff -u b/core/modules/block/lib/Drupal/block/BlockBase.php b/core/modules/block/lib/Drupal/block/BlockBase.php --- b/core/modules/block/lib/Drupal/block/BlockBase.php +++ b/core/modules/block/lib/Drupal/block/BlockBase.php @@ -10,6 +10,7 @@ use Drupal\Core\Plugin\PluginBase; use Drupal\block\BlockInterface; use Drupal\Component\Utility\Unicode; +use Drupal\Component\Utility\NestedArray; use Drupal\Core\Language\Language; use Drupal\Core\Cache\Cache; use Drupal\Core\Cache\CacheableInterface; @@ -44,9 +45,11 @@ * {@inheritdoc} */ public function setConfiguration(array $configuration) { - $this->configuration = $configuration + - $this->defaultConfiguration() + - $this->baseConfigurationDefaults(); + $this->configuration = NestedArray::mergeDeep( + $this->baseConfigurationDefaults(), + $this->defaultConfiguration(), + $configuration + ); } /**