diff --git a/src/Plugin/ConfigProvider/ConfigProviderInstall.php b/src/Plugin/ConfigProvider/ConfigProviderInstall.php
index 2cfc969..1abe6e7 100644
--- a/src/Plugin/ConfigProvider/ConfigProviderInstall.php
+++ b/src/Plugin/ConfigProvider/ConfigProviderInstall.php
@@ -45,8 +45,9 @@ class ConfigProviderInstall extends ConfigProviderBase {
       $data = $profile_storage->readMultiple(array_keys($data)) + $data;
     }
 
-    foreach ($data as $name => $data) {
-      $this->providerStorage->write($name, $data);
+    foreach ($data as $name => $value) {
+      $value = $this->addDefaultConfigHash($value);
+      $this->providerStorage->write($name, $value);
     }
 
     // Get all data from the remaining collections.
@@ -67,11 +68,12 @@ class ConfigProviderInstall extends ConfigProviderBase {
         $data = $profile_storage->readMultiple(array_keys($data)) + $data;
       }
 
-      foreach ($data as $name => $data) {
+      foreach ($data as $name => $value) {
         if ($this->providerStorage->getCollectionName() != $collection) {
           $this->providerStorage = $this->providerStorage->createCollection($collection);
         }
-        $this->providerStorage->write($name, $data);
+        $value = $this->addDefaultConfigHash($value);
+        $this->providerStorage->write($name, $value);
       }
     }
 
diff --git a/src/Plugin/ConfigProvider/ConfigProviderOptional.php b/src/Plugin/ConfigProvider/ConfigProviderOptional.php
index 8f6d057..53d8602 100644
--- a/src/Plugin/ConfigProvider/ConfigProviderOptional.php
+++ b/src/Plugin/ConfigProvider/ConfigProviderOptional.php
@@ -112,6 +112,7 @@ class ConfigProviderOptional extends ConfigProviderBase {
         unset($all_config[$config_name]);
       }
       else {
+        $data = $this->addDefaultConfigHash($data);
         $this->providerStorage->write($config_name, $data);
       }
     }
diff --git a/src/Plugin/ConfigProviderBase.php b/src/Plugin/ConfigProviderBase.php
index 87e8725..d0b835c 100644
--- a/src/Plugin/ConfigProviderBase.php
+++ b/src/Plugin/ConfigProviderBase.php
@@ -3,6 +3,7 @@
 namespace Drupal\config_provider\Plugin;
 
 use Drupal\Component\Plugin\PluginBase;
+use Drupal\Component\Utility\Crypt;
 use Drupal\Core\Config\ConfigFactoryInterface;
 use Drupal\Core\Config\ConfigManagerInterface;
 use Drupal\Core\Config\ExtensionInstallStorage;
@@ -292,4 +293,23 @@ abstract class ConfigProviderBase extends PluginBase implements ConfigProviderIn
     return $this->installProfile;
   }
 
+  /**
+   * Adds default_config_hash for proper localization of the config objects.
+   *
+   * Use this method only on unchanged config from config/install or config/optional
+   * folders.
+   *
+   * @param array $data
+   *   Config to install read directly from config/install or config/optional.
+   *
+   * @return array
+   *   Config with default_config_hash property.
+   */
+  public function addDefaultConfigHash(array $data) {
+    if (empty($data['_core']['default_config_hash'])) {
+      $data['_core']['default_config_hash'] = Crypt::hashBase64(serialize($data));
+    }
+    return $data;
+  }
+
 }
