diff --git a/core/tests/Drupal/KernelTests/Core/Entity/ContentEntityCloneTest.php b/core/tests/Drupal/KernelTests/Core/Entity/ContentEntityCloneTest.php
index 79c7f14..2ce3a64 100644
--- a/core/tests/Drupal/KernelTests/Core/Entity/ContentEntityCloneTest.php
+++ b/core/tests/Drupal/KernelTests/Core/Entity/ContentEntityCloneTest.php
@@ -179,4 +179,31 @@ public function testNewRevisionOnCloneEntityTranslation() {
     $this->assertFalse($entity_translation->isNewRevision());
   }
 
+  /**
+   * Tests modifications on entity keys of a cloned entity object.
+   */
+  public function testEntityKeysModifications() {
+    // Create a test entity with a translation, which will internally trigger
+    // entity cloning for the new translation and create references for some of
+    // the entity properties.
+    $entity = EntityTestMulRev::create([
+      'name' => $this->randomString(),
+      'language' => 'en',
+    ]);
+    $entity->addTranslation('de');
+    $entity->save();
+
+    // Clone the entity.
+    $clone = clone $entity;
+
+    // Alter the uuid field of the cloned entity translation and assert that
+    // the change has not been propagated to the original entity. We first have
+    // to call the ::uuid() method on the original entity as it is going to
+    // cache the field value into the $entityKeysProperty of the entity object
+    // and we want to check that the cloned and the original entity aren't
+    // sharing the same reference to that local cache property.
+    $clone->{$entity->getEntityType()->getKey('uuid')}->value = 'test-change';
+    $this->assertNotEquals($entity->uuid(), $clone->uuid());
+  }
+
 }
