diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php
index 77ffa8c..83ba467 100644
--- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php
+++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php
@@ -51,7 +51,8 @@ public function getOriginalID() {
    * since each configuration entity is unique.
    */
   final public function isNew() {
-    return !$this->id();
+    $id = $this->id();
+    return isset($id);
   }
 
   /**
diff --git a/core/modules/config/lib/Drupal/config/Tests/ConfigEntityTest.php b/core/modules/config/lib/Drupal/config/Tests/ConfigEntityTest.php
index 532979c..ced86b9 100644
--- a/core/modules/config/lib/Drupal/config/Tests/ConfigEntityTest.php
+++ b/core/modules/config/lib/Drupal/config/Tests/ConfigEntityTest.php
@@ -78,13 +78,15 @@ function testCRUD() {
     // Rename the configuration entity's ID/machine name.
     $this->assertLinkByHref('admin/structure/config_test/manage/' . $id);
     $edit = array(
-      'id' => strtolower($this->randomName()),
+      'id' => '0',
       'label' => $label3,
     );
     $this->drupalPost('admin/structure/config_test/manage/' . $id, $edit, 'Save');
     $this->assertResponse(200);
     $this->assertNoText($label1);
     $this->assertText($label3);
+    $this->drupalGet('admin/structure/config_test/manage/' . $edit['id']);
+    $this->assertResponse(200);
   }
 
 }
