diff --git a/core/modules/views/src/Entity/Render/TranslationLanguageRenderer.php b/core/modules/views/src/Entity/Render/TranslationLanguageRenderer.php
index c94243b..b3593f5 100644
--- a/core/modules/views/src/Entity/Render/TranslationLanguageRenderer.php
+++ b/core/modules/views/src/Entity/Render/TranslationLanguageRenderer.php
@@ -35,12 +35,13 @@ public function query(QueryPluginBase $query, $relationship = NULL) {
     // If the data table is defined, we use the translation language as render
     // language, otherwise we fall back to the default entity language, which is
     // stored in the revision table for revisionable entity types.
-    $langcode_key = $this->entityType->getKey('langcode');
-    foreach (array('data_table', 'revision_table', 'base_table') as $key) {
-      if ($table = $this->entityType->get($key)) {
-        $table_alias = $query->ensureTable($table, $relationship);
-        $this->langcodeAlias = $query->addField($table_alias, $langcode_key);
-        break;
+    if ($langcode_key = $this->entityType->getKey('langcode')) {
+      foreach (array('data_table', 'revision_table', 'base_table') as $key) {
+        if ($table = $this->entityType->get($key)) {
+          $table_alias = $query->ensureTable($table, $relationship);
+          $this->langcodeAlias = $query->addField($table_alias, $langcode_key);
+          break;
+        }
       }
     }
   }
