diff --git a/core/modules/system/src/Tests/Pager/PagerTest.php b/core/modules/system/src/Tests/Pager/PagerTest.php
index 0a49a58..0de500b 100644
--- a/core/modules/system/src/Tests/Pager/PagerTest.php
+++ b/core/modules/system/src/Tests/Pager/PagerTest.php
@@ -16,7 +16,7 @@ class PagerTest extends WebTestBase {
    *
    * @var array
    */
-  public static $modules = ['dblog', 'pager_test'];
+  public static $modules = ['dblog', 'pager_test', 'node'];
 
   /**
    * A user with permission to access site reports.
@@ -181,6 +181,31 @@ public function testMultiplePagers() {
   }
 
   /**
+   * Test entity query pager.
+   */
+  public function testEntityQueryPager() {
+    // Insert 10 node entities. The test module sets a pager limit of 2 to
+    // fetch data, so we will have 5 pages to flip through.
+    $this->drupalCreateContentType(['type' => 'article', 'name' => t('Article')]);
+    for ($i = 0; $i < 10; $i++) {
+      $this->drupalCreateNode(['type' => 'article', 'promote' => 1]);
+    }
+
+    // Get first page.
+    $this->drupalGet('pager-test/entity-query-pager');
+    $this->assertPagerItems(0);
+
+    // Try getting a negative page, should still render the first one.
+    $this->drupalGet('pager-test/entity-query-pager', ['query' => ['page' => -5]]);
+    $this->assertPagerItems(0);
+
+    // Try getting a page above the range, should render the last one.
+    $this->drupalGet('pager-test/entity-query-pager', ['query' => ['page' => 200]]);
+    $this->assertPagerItems(4);
+
+  }
+
+  /**
    * Test proper functioning of the ellipsis.
    */
   public function testPagerEllipsis() {
diff --git a/core/modules/system/tests/modules/pager_test/pager_test.routing.yml b/core/modules/system/tests/modules/pager_test/pager_test.routing.yml
index ea6c9cb..625a797 100644
--- a/core/modules/system/tests/modules/pager_test/pager_test.routing.yml
+++ b/core/modules/system/tests/modules/pager_test/pager_test.routing.yml
@@ -1,3 +1,11 @@
+pager_test.entity_query_pager:
+  path: '/pager-test/entity-query-pager'
+  defaults:
+    _title: 'Page using an entity query pager for testing'
+    _controller: '\Drupal\pager_test\Controller\EntityQueryPagerTestController::entityQueryPager'
+  requirements:
+    _access: 'TRUE'
+
 pager_test.multiple_pagers:
   path: '/pager-test/multiple-pagers'
   defaults:
diff --git a/core/modules/system/tests/modules/pager_test/src/Controller/EntityQueryPagerTestController.php b/core/modules/system/tests/modules/pager_test/src/Controller/EntityQueryPagerTestController.php
new file mode 100644
index 0000000..6ad1b54
--- /dev/null
+++ b/core/modules/system/tests/modules/pager_test/src/Controller/EntityQueryPagerTestController.php
@@ -0,0 +1,41 @@
+<?php
+
+namespace Drupal\pager_test\Controller;
+
+use Drupal\Core\Controller\ControllerBase;
+
+/**
+ * Controller routine for testing the pager with entity query.
+ */
+class EntityQueryPagerTestController extends ControllerBase {
+
+  /**
+   * Returns a page using an entity query pager.
+   */
+  public function entityQueryPager() {
+    $header = [
+      ['data' => 'id'],
+    ];
+    $query = \Drupal::service('entity.query')->get('node');
+    $query->pager(2);
+    $result = $query->execute();
+    $rows = [];
+    foreach ($result as $row) {
+      $rows[] = ['data' => [$row]];
+    }
+    
+    $build = [];
+    $build[] = [
+      '#theme' => 'table',
+      '#header' => $header,
+      '#rows' => $rows,
+      '#empty' => $this->t("There are no node ids found in the db"),
+    ];
+    $build[] = [
+      '#type' => 'pager',
+    ];
+    
+    return $build;
+  }
+
+}
