diff --git a/core/lib/Drupal/Core/Config/Config.php b/core/lib/Drupal/Core/Config/Config.php
index a749a4b..a2f95bf 100644
--- a/core/lib/Drupal/Core/Config/Config.php
+++ b/core/lib/Drupal/Core/Config/Config.php
@@ -236,8 +236,15 @@ class Config {
 
   /**
    * Saves the configuration object.
+   *
+   * @throws Drupal\Core\Config\ConfigException
    */
   public function save() {
+    // All configuration objects need to be namespaced by extension, as it would
+    // be impossible to maintain them otherwise.
+    if (strpos($this->name, '.') === FALSE) {
+      throw new ConfigException(sprintf('Missing namespace in Config name %s', $this->name));
+    }
     $this->sortByKey($this->data);
     $this->storageDispatcher->selectStorage('write', $this->name)->write($this->name, $this->data);
     $this->isNew = FALSE;
