diff --git a/core/modules/views/src/Entity/Render/TranslationLanguageRenderer.php b/core/modules/views/src/Entity/Render/TranslationLanguageRenderer.php
index 89f465988b..81f31a10d3 100644
--- a/core/modules/views/src/Entity/Render/TranslationLanguageRenderer.php
+++ b/core/modules/views/src/Entity/Render/TranslationLanguageRenderer.php
@@ -83,10 +83,12 @@ public function preRender(array $result) {
 
     /** @var \Drupal\views\ResultRow $row */
     foreach ($result as $row) {
+      /** @var \Drupal\Core\Entity\RevisionableInterface $entity */
       $entity = $row->_entity;
+      $entity_id = $this->entityType->isRevisionable() ? $entity->getRevisionId() : $entity->id();
       $entity->view = $this->view;
       $langcode = $this->getLangcode($row);
-      $this->build[$entity->id()][$langcode] = $view_builder->view($entity, $this->view->rowPlugin->options['view_mode'], $this->getLangcode($row));
+      $this->build[$entity_id][$langcode] = $view_builder->view($entity, $this->view->rowPlugin->options['view_mode'], $this->getLangcode($row));
     }
   }
 
@@ -94,7 +96,8 @@ public function preRender(array $result) {
    * {@inheritdoc}
    */
   public function render(ResultRow $row) {
-    $entity_id = $row->_entity->id();
+    $entity = $row->_entity;
+    $entity_id = $this->entityType->isRevisionable() ? $entity->getRevisionId() : $entity->id();
     $langcode = $this->getLangcode($row);
     return $this->build[$entity_id][$langcode];
   }
