diff -u b/core/lib/Drupal/Core/Config/ConfigInstaller.php b/core/lib/Drupal/Core/Config/ConfigInstaller.php --- b/core/lib/Drupal/Core/Config/ConfigInstaller.php +++ b/core/lib/Drupal/Core/Config/ConfigInstaller.php @@ -147,8 +147,6 @@ // directories. $storage = new ExtensionInstallStorage($this->getActiveStorages(StorageInterface::DEFAULT_COLLECTION), InstallStorage::CONFIG_OPTIONAL_DIRECTORY, StorageInterface::DEFAULT_COLLECTION, FALSE); $this->installOptionalConfig($storage, [$type => $name]); - // Search the install profile's optional configuration too. - $this->installOptionalConfig(NULL, [$type => $name]); } // Reset all the static caches and list caches. @@ -190,9 +188,10 @@ $all_config = array_merge($existing_config, $list); $config_to_create = $storage->readMultiple($list); - // Check to see if the corresponding override storage has any overrides. + // Check to see if the corresponding override storage has any overrides or + // new configuration that can be installed. if ($profile_storage) { - $config_to_create = $profile_storage->readMultiple($list) + $config_to_create; + $config_to_create = $profile_storage->readMultiple($profile_storage->listAll()) + $config_to_create; } foreach ($config_to_create as $config_name => $data) { // Exclude configuration where its dependencies cannot be met.