diff --git a/wagtail/admin/tests/pages/test_page_usage.py b/wagtail/admin/tests/pages/test_page_usage.py
index 01a3d2e79b74..9f071876c61c 100644
--- a/wagtail/admin/tests/pages/test_page_usage.py
+++ b/wagtail/admin/tests/pages/test_page_usage.py
@@ -72,3 +72,16 @@ def test_has_editable_usage(self):
)
self.assertContains(response, "Thank you redirect page")
self.assertContains(response, "
Form page with redirect | ", html=True)
+
+ def test_pagination(self):
+ for _ in range(50):
+ PageChooserModel.objects.create(page=self.page)
+
+ usage_url = reverse("wagtailadmin_pages:usage", args=(self.page.id,))
+ response = self.client.get(f"{usage_url}?p=2")
+
+ self.assertEqual(response.status_code, 200)
+ self.assertTemplateUsed(response, "wagtailadmin/generic/listing.html")
+ self.assertContains(response, "Page 2 of 3.")
+ self.assertContains(response, f"{usage_url}?p=1")
+ self.assertContains(response, f"{usage_url}?p=3")
diff --git a/wagtail/admin/views/pages/usage.py b/wagtail/admin/views/pages/usage.py
index f088b9f7d2ae..5d7c90299420 100644
--- a/wagtail/admin/views/pages/usage.py
+++ b/wagtail/admin/views/pages/usage.py
@@ -75,6 +75,7 @@ class UsageView(generic.UsageView):
model = Page
pk_url_kwarg = "page_id"
header_icon = "doc-empty-inverse"
+ usage_url_name = "wagtailadmin_pages:usage"
def dispatch(self, request, *args, **kwargs):
if not self.object.permissions_for_user(request.user).can_edit():