diff --git a/core/includes/config.inc b/core/includes/config.inc
index 20e6bb4..6746e36 100644
--- a/core/includes/config.inc
+++ b/core/includes/config.inc
@@ -184,12 +184,14 @@ function config_sync_changes(array $config_changes, StorageInterface $source_sto
     foreach ($config_changes[$op] as $name) {
       // Validate the configuration object name before importing it.
       Config::validateName($name);
+      $config = new Config($name, $target_storage);
       if ($op == 'delete') {
-        $target_storage->delete($name);
+        $config->delete();
       }
       else {
         $data = $source_storage->read($name);
-        $target_storage->write($name, $data);
+        $config->setData($data ? $data : array());
+        $config->save();
       }
       $factory->reset($name);
     }
