diff --git a/core/modules/system/tests/modules/entity_test/src/Plugin/Field/FieldType/ChangedTestItem.php b/core/modules/system/tests/modules/entity_test/src/Plugin/Field/FieldType/ChangedTestItem.php
index 1425588..2eb55b1 100644
--- a/core/modules/system/tests/modules/entity_test/src/Plugin/Field/FieldType/ChangedTestItem.php
+++ b/core/modules/system/tests/modules/entity_test/src/Plugin/Field/FieldType/ChangedTestItem.php
@@ -22,6 +22,13 @@
 class ChangedTestItem extends ChangedItem {
 
   /**
+   * Seconds sleep after ::postSave() call.
+   *
+   * @var int
+   */
+  public static $sleepPostSave = 0;
+
+  /**
    * {@inheritdoc}
    */
   public function preSave() {
@@ -36,4 +43,13 @@ public function preSave() {
     }
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function postSave($update) {
+    parent::postSave($update);
+
+    sleep(static::$sleepPostSave);
+  }
+
 }
diff --git a/core/tests/Drupal/KernelTests/Core/Entity/ContentEntityChangedTest.php b/core/tests/Drupal/KernelTests/Core/Entity/ContentEntityChangedTest.php
index 66e1abb..d8119ba 100644
--- a/core/tests/Drupal/KernelTests/Core/Entity/ContentEntityChangedTest.php
+++ b/core/tests/Drupal/KernelTests/Core/Entity/ContentEntityChangedTest.php
@@ -4,6 +4,7 @@
 
 use Drupal\entity_test\Entity\EntityTestMulChanged;
 use Drupal\entity_test\Entity\EntityTestMulRevChanged;
+use Drupal\entity_test\Plugin\Field\FieldType\ChangedTestItem;
 use Drupal\language\Entity\ConfigurableLanguage;
 
 /**
@@ -125,7 +126,10 @@ public function testChanged() {
 
     // Update a non-translatable field to make sure that the changed timestamp
     // is updated for all translations.
+    ChangedTestItem::$sleepPostSave = 2;
     $entity->set('not_translatable', $this->randomString())->save();
+    $this->assertGreaterThanOrEqual(4, time() - $entity->getChangedTime(), 'Sleep mode is on.');
+    ChangedTestItem::$sleepPostSave = 0;
 
     $this->assertTrue(
       $entity->getChangedTime() > $changed_en,
@@ -137,7 +141,10 @@ public function testChanged() {
       'Changed time of the German translation did change.'
     );
 
-    $this->assertEquals($entity->getChangedTime(), $german->getChangedTime(), 'When editing a non-translatable field the updated changed time is equal across all translations.');
+    // We can't assert equality here, while instances of ChangedTestItem use the
+    // current timestamp every time. As a result, we can fail when a millisecond
+    // leads to a different value in 1 second.
+    $this->assertLessThanOrEqual(1, $german->getChangedTime() - $entity->getChangedTime(), 'When editing a non-translatable field the updated changed time is equal across all translations.');
 
     $changed_en = $entity->getChangedTime();
     $changed_de = $german->getChangedTime();
