diff --git a/core/tests/Drupal/KernelTests/Core/Entity/EntityRepositoryRevisionTranslationTest.php b/core/tests/Drupal/KernelTests/Core/Entity/EntityRepositoryRevisionTranslationTest.php
new file mode 100644
index 0000000000..196ff70280
--- /dev/null
+++ b/core/tests/Drupal/KernelTests/Core/Entity/EntityRepositoryRevisionTranslationTest.php
@@ -0,0 +1,116 @@
+<?php
+
+namespace Drupal\KernelTests\Core\Entity;
+
+use Drupal\Core\Language\LanguageInterface;
+use Drupal\Core\Plugin\Context\Context;
+use Drupal\Core\Plugin\Context\ContextDefinition;
+use Drupal\entity_test\Entity\EntityTestMulRev;
+use Drupal\language\Entity\ConfigurableLanguage;
+
+/**
+ * Tests proper revision translations using Entity Repository.
+ *
+ * @group Entity
+ */
+class EntityRepositoryRevisionTranslationTest extends EntityKernelTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static $modules = ['language'];
+
+  /**
+   * The entity repository.
+   *
+   * @var \Drupal\Core\Entity\EntityRepositoryInterface
+   */
+  protected $entityRepository;
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+
+    $this->entityRepository = $this->container->get('entity.repository');
+
+    // Enable some additional languages.
+    ConfigurableLanguage::createFromLangcode('de')->save();
+    ConfigurableLanguage::createFromLangcode('it')->save();
+
+//    $this->installEntitySchema('entity_test_mul');
+    $this->installEntitySchema('entity_test_mulrev');
+  }
+
+  /**
+   * Tests the translation values when saving a pending revision.
+   */
+  public function testGetActivePendingTranslationRevisions() {
+    $user = $this->createUser();
+    $storage = $this->entityManager->getStorage('entity_test_mulrev');
+
+    $de_langcode = 'de';
+
+    // Create a test entity and a translation for it.
+    $entity = EntityTestMulRev::create([
+      'name' => 'default revision - en',
+      'user_id' => $user->id(),
+      'language' => 'en',
+    ]);
+    $entity->addTranslation($de_langcode, ['name' => 'default revision - de']);
+    $entity->save();
+
+    // Create a pending revision for the entity and change a field value for
+    // both languages.
+    $pending_revision = $this->reloadEntity($entity);
+
+    $pending_revision->setNewRevision();
+    $pending_revision->isDefaultRevision(FALSE);
+
+    $pending_revision->name = 'pending revision - en';
+    $pending_revision->save();
+
+    $pending_revision_translation = $pending_revision->getTranslation($de_langcode);
+    $pending_revision_translation->name = 'pending revision - de';
+    $pending_revision_translation->save();
+
+    $pending_revision_id = $pending_revision->getRevisionId();
+    $pending_revision = $storage->loadRevision($pending_revision_id);
+
+    // Change the value of the field in the default language, save the pending
+    // revision and check that the value of the field in the second language is
+    // also taken from the pending revision, *not* from the default revision.
+    $pending_revision->name = 'updated pending revision - en';
+    $pending_revision->save();
+
+    $en_contexts = $this->getLanguageContexts('en');
+    $de_contexts = $this->getLanguageContexts($de_langcode);
+
+    $en_active = $this->entityRepository->getActive('entity_test_mulrev', $entity->id(), $en_contexts);
+    $de_active = $this->entityRepository->getActive('entity_test_mulrev', $entity->id(), $de_contexts);
+
+    // Check active revision translations have the correct title.
+    $this->assertEquals('pending revision - de', $de_active->label());
+    $this->assertEquals( 'updated pending revision - en', $en_active->name->value);
+
+  }
+
+  /**
+   * Returns a set of language contexts matching the specified language.
+   *
+   * @param string $langcode
+   *   A language code.
+   *
+   * @return \Drupal\Core\Plugin\Context\ContextInterface[]
+   *   An array of contexts.
+   */
+  protected function getLanguageContexts($langcode) {
+    $prefix = '@language.current_language_context:';
+    return [
+      $prefix . LanguageInterface::TYPE_INTERFACE => new Context(new ContextDefinition('language'), $langcode),
+      $prefix . LanguageInterface::TYPE_CONTENT => new Context(new ContextDefinition('language'), $langcode),
+    ];
+  }
+
+}
\ No newline at end of file
