diff --git a/src/Form/RevisionOverviewForm.php b/src/Form/RevisionOverviewForm.php
index 45c2c66..60c3f86 100755
--- a/src/Form/RevisionOverviewForm.php
+++ b/src/Form/RevisionOverviewForm.php
@@ -152,9 +152,20 @@ class RevisionOverviewForm extends FormBase {
       // Access to the content has already been verified. Disable query-level
       // access checking so that revisions for unpublished content still
       //appear.
-      ->accessCheck(FALSE)
-      ->execute();
-    $vids = array_keys($query);
+      ->accessCheck(FALSE);
+
+    // Limit the list to revisions affecting this translation.
+    $entity_type = $node->getEntityType();
+    if ($entity_type->isTranslatable()) {
+      if ($langcode && ($langcode_key = $entity_type->getKey('langcode'))) {
+        $query->condition($langcode_key, $langcode);
+      }
+      if ($revision_translation_affected_key = $entity_type->getKey('revision_translation_affected')) {
+        $query->condition($revision_translation_affected_key, '1');
+      }
+    }
+
+    $vids = array_keys($query->execute());
 
     $revision_count = count($vids);
 
@@ -190,6 +201,19 @@ class RevisionOverviewForm extends FormBase {
     $revert_permission = $rev_revert_perm && $node->access('update');
     $delete_permission = $rev_delete_perm && $node->access('delete');
 
+    // If the default revision does not affect the current translation, figure
+    // out which is the latest revision that was a default revision and mark it
+    // instead.
+    $default_revision = $node->getRevisionId();
+    $default_revision_found = FALSE;
+    $build['default_revision_notice'] = [
+      '#type' => 'html_tag',
+      '#tag' => 'p',
+      '#value' => $this->t("The current revision is not included here because it does not affect this translation. The current revision's @language translation was likely based on the highlighted revision, unless later published revisions were deleted. Deleting any of these revisions will not affect the current version of this translation.", [
+        '@language' => $this->languageManager->getLanguage($langcode)->getName(),
+      ]),
+    ];
+
     // Contains the table listing the revisions.
     $build['node_revisions_table'] = array(
       '#type' => 'table',
@@ -200,7 +224,6 @@ class RevisionOverviewForm extends FormBase {
     $build['node_revisions_table']['#attached']['library'][] = 'diff/diff.general';
     $build['node_revisions_table']['#attached']['drupalSettings']['diffRevisionRadios'] = $this->config->get('general_settings.radio_behavior');
 
-    $default_revision = $node->getRevisionId();
     // Add rows to the table.
     foreach ($vids as $key => $vid) {
       $previous_revision = NULL;
@@ -208,85 +231,105 @@ class RevisionOverviewForm extends FormBase {
         $previous_revision = $node_storage->loadRevision($vids[$key + 1]);
       }
       /** @var \Drupal\Core\Entity\ContentEntityInterface $revision */
-      if ($revision = $node_storage->loadRevision($vid)) {
-        if ($revision->hasTranslation($langcode) && $revision->getTranslation($langcode)->isRevisionTranslationAffected()) {
-          $username = array(
-            '#theme' => 'username',
-            '#account' => $revision->getRevisionUser(),
-          );
-          $revision_date = $this->date->format($revision->getRevisionCreationTime(), 'short');
-          // Use revision link to link to revisions that are not active.
-          if ($vid != $node->getRevisionId()) {
-            $link = Link::fromTextAndUrl($revision_date, new Url('entity.node.revision', ['node' => $node->id(), 'node_revision' => $vid]));
-          }
-          else {
-            $link = $node->toLink($revision_date);
-          }
-
-          if ($vid == $default_revision) {
-            $row = [
-              'revision' => $this->buildRevision($link, $username, $revision, $previous_revision),
-            ];
-
-            // Allow comparisons only if there are 2 or more revisions.
-            if ($revision_count > 1) {
-              $row += [
-                'select_column_one' => $this->buildSelectColumn('radios_left', $vid, FALSE),
-                'select_column_two' => $this->buildSelectColumn('radios_right', $vid, $vid),
-              ];
-            }
-            $row['operations'] = array(
-              '#prefix' => '<em>',
-              '#markup' => $this->t('Current revision'),
-              '#suffix' => '</em>',
-              '#attributes' => array(
-                'class' => array('revision-current'),
-              ),
-            );
-            $row['#attributes'] = [
-              'class' => ['revision-current'],
-            ];
-          }
-          else {
-            $route_params = array(
-              'node' => $node->id(),
-              'node_revision' => $vid,
-              'langcode' => $langcode,
-            );
-            $links = array();
-            if ($revert_permission) {
-              $links['revert'] = [
-                'title' => $vid < $node->getRevisionId() ? $this->t('Revert') : $this->t('Set as current revision'),
-                'url' => $has_translations ?
-                  Url::fromRoute('node.revision_revert_translation_confirm', ['node' => $node->id(), 'node_revision' => $vid, 'langcode' => $langcode]) :
-                  Url::fromRoute('node.revision_revert_confirm', ['node' => $node->id(), 'node_revision' => $vid]),
-              ];
-            }
-            if ($delete_permission) {
-              $links['delete'] = array(
-                'title' => $this->t('Delete'),
-                'url' => Url::fromRoute('node.revision_delete_confirm', $route_params),
-              );
-            }
-
-            // Here we don't have to deal with 'only one revision' case because
-            // if there's only one revision it will also be the default one,
-            // entering on the first branch of this if else statement.
-            $row = [
-              'revision' => $this->buildRevision($link, $username, $revision, $previous_revision),
-              'select_column_one' => $this->buildSelectColumn('radios_left', $vid,
-                isset($vids[1]) ? $vids[1] : FALSE),
-              'select_column_two' => $this->buildSelectColumn('radios_right', $vid, FALSE),
-              'operations' => [
-                '#type' => 'operations',
-                '#links' => $links,
-              ],
-            ];
-          }
-          // Add the row to the table.
-          $build['node_revisions_table'][] = $row;
+      $revision = $node_storage->loadRevision($vid);
+      // If dealing with a translation, load that version.
+      if ($revision->hasTranslation($langcode)) {
+        $revision = $revision->getTranslation($langcode);
+      }
+      $username = [
+        '#theme' => 'username',
+        '#account' => $revision->getRevisionUser(),
+      ];
+      // Data and vid string.
+      $revision_date = $this->date->format($revision->getRevisionCreationTime(), 'short') . " ($vid)";
+      // Use revision link to link to revisions that are not active.
+      if ($vid != $node->getRevisionId()) {
+        $link = Link::fromTextAndUrl($revision_date, new Url('entity.node.revision', [
+          'node' => $node->id(),
+          'node_revision' => $vid
+        ]));
+      }
+      else {
+        $link = $node->toLink($revision_date);
+      }
+
+      if ($vid == $default_revision) {
+        $default_revision_found = TRUE;
+        $build['default_revision_notice']['#access'] = FALSE;
+        $row = [
+          'revision' => $this->buildRevision($link, $username, $revision, $previous_revision),
+        ];
+
+        // Allow comparisons only if there are 2 or more revisions.
+        if ($revision_count > 1) {
+          $row += [
+            'select_column_one' => $this->buildSelectColumn('radios_left', $vid, FALSE),
+            'select_column_two' => $this->buildSelectColumn('radios_right', $vid, $vid),
+          ];
         }
+        $row['operations'] = [
+          '#prefix' => '<em>',
+          '#markup' => $this->t('Current revision'),
+          '#suffix' => '</em>',
+          '#attributes' => [
+            'class' => ['revision-current'],
+          ],
+        ];
+        $row['#attributes'] = [
+          'class' => ['revision-current'],
+        ];
+      }
+      else {
+        $route_params = [
+          'node' => $node->id(),
+          'node_revision' => $vid,
+          'langcode' => $langcode,
+        ];
+        $links = [];
+        if ($revert_permission) {
+          $links['revert'] = [
+            'title' => $vid < $node->getRevisionId() ? $this->t('Revert') : $this->t('Set as current revision'),
+            'url' => $has_translations ?
+              Url::fromRoute('node.revision_revert_translation_confirm', [
+                'node' => $node->id(),
+                'node_revision' => $vid,
+                'langcode' => $langcode
+              ]) :
+              Url::fromRoute('node.revision_revert_confirm', [
+                'node' => $node->id(),
+                'node_revision' => $vid
+              ]),
+          ];
+        }
+        if ($delete_permission) {
+          $links['delete'] = [
+            'title' => $this->t('Delete'),
+            'url' => Url::fromRoute('node.revision_delete_confirm', $route_params),
+          ];
+        }
+
+        // Here we don't have to deal with 'only one revision' case because
+        // if there's only one revision it will also be the default one,
+        // entering on the first branch of this if else statement.
+        $row = [
+          'revision' => $this->buildRevision($link, $username, $revision, $previous_revision),
+          'select_column_one' => $this->buildSelectColumn('radios_left', $vid,
+            isset($vids[1]) ? $vids[1] : FALSE),
+          'select_column_two' => $this->buildSelectColumn('radios_right', $vid, FALSE),
+          'operations' => [
+            '#type' => 'operations',
+            '#links' => $links,
+          ],
+        ];
+      }
+      if (!$default_revision_found && $revision->wasDefaultRevision()) {
+        // This is the first revision that was a default revision, mark it as
+        // the "current" revision for this translation.
+        $default_revision_found = TRUE;
+        $row['#attributes']['class'][] = 'revision-current';
       }
+      // Add the row to the table.
+      $build['node_revisions_table'][] = $row;
     }
 
     // Allow comparisons only if there are 2 or more revisions.
