diff --git a/src/Controller/PluginRevisionController.php b/src/Controller/PluginRevisionController.php
index 20e6a9694af72d0ffc7b5561a8ea4636cfe6bcf2..f463b3c150a95dced8af63c55fa96f7db8344cef 100644
--- a/src/Controller/PluginRevisionController.php
+++ b/src/Controller/PluginRevisionController.php
@@ -235,7 +235,7 @@ class PluginRevisionController extends ControllerBase {
       ];
       $i = 0;
       // Find the previous revision.
-      while ($left_revision_id > $revision_ids[$i]) {
+      while (!empty($revision_ids[$i]) && $left_revision_id > $revision_ids[$i]) {
         $i += 1;
       }
       if ($i != 0) {
@@ -250,7 +250,7 @@ class PluginRevisionController extends ControllerBase {
       ];
       // Find the next revision.
       $i = 0;
-      while ($i < $revisions_count && $right_revision_id >= $revision_ids[$i]) {
+      while (!empty($revision_ids[$i]) && $right_revision_id >= $revision_ids[$i]) {
         $i += 1;
       }
       if ($revisions_count != $i && $revision_ids[$i - 1] != $revision_ids[$revisions_count - 1]) {
diff --git a/tests/src/FunctionalJavascript/DiffLocaleTest.php b/tests/src/FunctionalJavascript/DiffLocaleTest.php
index a50499b1af1b3d33eef383d1125f97b27d3b940e..86c3a26d3e0fbb685f0a5d8320837bd0258e8460 100644
--- a/tests/src/FunctionalJavascript/DiffLocaleTest.php
+++ b/tests/src/FunctionalJavascript/DiffLocaleTest.php
@@ -151,6 +151,7 @@ class DiffLocaleTest extends DiffTestBase {
     $french_node->setTitle('french_revision_2');
     $french_node->setNewRevision(TRUE);
     $french_node->save();
+    $revision5 = $french_node->getRevisionId();
 
     // Compare first two revisions.
     $this->drupalGet('node/' . $node->id() . '/revisions/view/' . $revision1 . '/' . $revision2 . '/split_fields');
@@ -166,6 +167,12 @@ class DiffLocaleTest extends DiffTestBase {
 
     // There shouldn't be other differences in the current language.
     $this->assertSession()->linkNotExists('Next change');
+
+    // Attempt to visit with a valid revision but for the wrong language.
+    $this->drupalGet('node/' . $node->id() . '/revisions/view/' . $revision5 . '/' . $revision1 . '/split_fields');
+    $diffs = $this->getSession()->getPage()->findAll('xpath', '//span[@class="diffchange"]');
+    $this->assertEquals($diffs[0]->getText(), 'english_revision_2');
+    $this->assertEquals($diffs[1]->getText(), 'english_revision_0');
   }
 
   /**