diff --git a/core/lib/Drupal/Core/Entity/ContentEntityBase.php b/core/lib/Drupal/Core/Entity/ContentEntityBase.php
index 2ad6d69..6dea515 100644
--- a/core/lib/Drupal/Core/Entity/ContentEntityBase.php
+++ b/core/lib/Drupal/Core/Entity/ContentEntityBase.php
@@ -957,7 +957,9 @@ public function createDuplicate() {
       $duplicate->{$entity_type->getKey('revision')}->value = NULL;
     }
 
-    $duplicate->entityKeys = array();
+    $duplicate->entityKeys = array(
+      'bundle' => $this->entityKeys['bundle'],
+    );
 
     return $duplicate;
   }
diff --git a/core/modules/system/src/Tests/Entity/EntityUUIDTest.php b/core/modules/system/src/Tests/Entity/EntityUUIDTest.php
index 39bfa70..90689a4 100644
--- a/core/modules/system/src/Tests/Entity/EntityUUIDTest.php
+++ b/core/modules/system/src/Tests/Entity/EntityUUIDTest.php
@@ -91,6 +91,9 @@ protected function assertCRUD($entity_type) {
           $this->assertNotEqual($entity_duplicate->getRevisionId(), $entity->getRevisionId());
           $this->assertNotEqual($entity_duplicate->{$property}->getValue(), $entity->{$property}->getValue());
           break;
+        case 'bundle':
+          $this->assertEqual($entity_duplicate->bundle(), $entity->bundle());
+          break;
         default:
           $this->assertEqual($entity_duplicate->{$property}->getValue(), $entity->{$property}->getValue());
       }
