diff -u b/core/lib/Drupal/Core/Config/ConfigFactory.php b/core/lib/Drupal/Core/Config/ConfigFactory.php --- b/core/lib/Drupal/Core/Config/ConfigFactory.php +++ b/core/lib/Drupal/Core/Config/ConfigFactory.php @@ -336,7 +336,7 @@ public function getCacheKeys($name) { return array_filter(array_keys($this->cache), function($key) use ($name) { // Return TRUE if the key starts with the configuration name. - return strpos($key, $name) === 0; + return strpos($key, $name . ':') === 0; }); } @@ -448,7 +448,8 @@ // from the one that references the actual config object being saved. $saved_config = $event->getConfig(); foreach ($this->getCacheKeys($saved_config->getName()) as $cache_key) { - if ($this->cache[$cache_key] != $saved_config) { + $cached_config = $this->cache[$cache_key]; + if ($cached_config !== $saved_config) { $this->cache[$cache_key]->setData($saved_config->getRawData()); } }