diff --git a/core/tests/Drupal/KernelTests/Core/Entity/EntityRevisionTranslationTest.php b/core/tests/Drupal/KernelTests/Core/Entity/EntityRevisionTranslationTest.php
index 9bfa5e1..936f59b 100644
--- a/core/tests/Drupal/KernelTests/Core/Entity/EntityRevisionTranslationTest.php
+++ b/core/tests/Drupal/KernelTests/Core/Entity/EntityRevisionTranslationTest.php
@@ -87,4 +87,65 @@ public function testRevertRevisionAfterTranslation() {
     $this->assertFalse($entity->hasTranslation('de'));
   }
 
+  /**
+   * Tests if the correct revisions are used when translating.
+   */
+  public function testForwardTranslatedRevisions() {
+    $entity = EntityTestMulRev::create([
+      'language' => 'en',
+      'name' => 'First English revision',
+    ]);
+    $entity->save();
+    $this->assertEquals('First English revision', $entity->getName());
+    $this->assertEquals('en', $entity->language()->getId());
+    $this->assertEquals(1, $entity->getRevisionId());
+
+    $translation = $this->reloadNode($entity)->addTranslation('de');
+    $translation->setName('First German revision');
+    $translation->setNewRevision();
+    $translation->isDefaultRevision(TRUE);
+    $translation->save();
+    $this->assertEquals('First German revision', $translation->getName());
+    $this->assertEquals('de', $translation->language()->getId());
+    $this->assertEquals(2, $translation->getRevisionId());
+
+    $translation = $this->reloadNode($entity)->getTranslation('de');
+    $translation->setName('Second German revision');
+    $translation->setNewRevision();
+    $translation->isDefaultRevision(FALSE);
+    $translation->save();
+    $this->assertEquals('Second German revision', $translation->getName());
+    $this->assertEquals('de', $translation->language()->getId());
+    $this->assertEquals(3, $translation->getRevisionId());
+
+    $loaded = $this->reloadNode($entity);
+    $this->assertEquals('First English revision', $loaded->getName());
+    $loaded_de = $loaded->getTranslation('de');
+    $this->assertEquals('First German revision', $loaded_de->getName());
+
+    $loaded->setName('Second English revision');
+    $loaded->setNewRevision();
+    $loaded->isDefaultRevision(TRUE);
+    $loaded->save();
+
+    $loaded_again = $this->reloadNode($entity);
+    $this->assertEquals('Second English revision', $loaded_again->getName());
+    $loaded_again_de = $loaded_again->getTranslation('de');
+    $this->assertEquals('First German revision', $loaded_again_de->getName());
+    $this->assertEquals(4, $loaded_again->getRevisionId());
+
+  }
+
+  /**
+   * Reloads the entity after clearing the static cache.
+   *
+   * @param \Drupal\entity_test\Entity\EntityTestMulRev $entity
+   *
+   * @return \Drupal\Core\Entity\EntityInterface|null
+   */
+  protected function reloadNode(EntityTestMulRev $entity) {
+    $storage = \Drupal::entityTypeManager()->getStorage('entity_test_mulrev');
+    $storage->resetCache([$entity->id()]);
+    return $storage->load($entity->id());
+  }
 }
