diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php
index 77ffa8c..1258395 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/lib/Drupal/Core/Entity/Entity.php b/core/lib/Drupal/Core/Entity/Entity.php
index 3d65b5e..ec50fe8 100644
--- a/core/lib/Drupal/Core/Entity/Entity.php
+++ b/core/lib/Drupal/Core/Entity/Entity.php
@@ -85,7 +85,8 @@ public function uuid() {
    * Implements EntityInterface::isNew().
    */
   public function isNew() {
-    return !empty($this->enforceIsNew) || !$this->id();
+    $id = $this->id();
+    return !empty($this->enforceIsNew) || !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..494f5e0 100644
--- a/core/modules/config/lib/Drupal/config/Tests/ConfigEntityTest.php
+++ b/core/modules/config/lib/Drupal/config/Tests/ConfigEntityTest.php
@@ -78,13 +78,16 @@ 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->drupalPost('admin/structure/config_test/manage/0/delete', array(), 'Delete');
+    $this->assertResponse(200);
+    $this->assertNoText($label3);
   }
 
 }
