diff --git a/core/modules/block/custom_block/custom_block.admin.inc b/core/modules/block/custom_block/custom_block.admin.inc
index 44af8c414f5988073527fd57608324c995e5753b..6c74edcda1b8641ccd35e053ee57b3fa1325366c 100644
--- a/core/modules/block/custom_block/custom_block.admin.inc
+++ b/core/modules/block/custom_block/custom_block.admin.inc
@@ -7,18 +7,6 @@
 
 use Drupal\custom_block\Plugin\Core\Entity\CustomBlockType;
 
-/**
- * Page callback: Lists custom block types.
- *
- * @return array
- *   A build array in the format expected by drupal_render().
- *
- * @see custom_block_menu()
- */
-function custom_block_type_list() {
-  return Drupal::entityManager()->getListController('custom_block_type')->render();
-}
-
 /**
  * Page callback: Presents the custom block type creation form.
  *
diff --git a/core/modules/block/custom_block/custom_block.module b/core/modules/block/custom_block/custom_block.module
index a1fc680d1205617778bfa5e386fd5c27b23ef409..e674f7b343f9a30f039d1e323985b3c7e705e5b7 100644
--- a/core/modules/block/custom_block/custom_block.module
+++ b/core/modules/block/custom_block/custom_block.module
@@ -34,9 +34,7 @@ function custom_block_menu() {
   $items['admin/structure/custom-blocks'] = array(
     'title' => 'Custom block types',
     'description' => 'Manage custom block types.',
-    'page callback' => 'custom_block_type_list',
-    'access arguments' => array('administer blocks'),
-    'file' => 'custom_block.admin.inc',
+    'route_name' => 'custom_block_type_list',
   );
   $items['admin/structure/custom-blocks/add'] = array(
     'title' => 'Add custom block type',
diff --git a/core/modules/block/custom_block/custom_block.routing.yml b/core/modules/block/custom_block/custom_block.routing.yml
index ed4ab92a9ec7a0819e523b623b6d9eb3e180a83a..ac4ec997e4db05514f2edbbce198f0de14f2ec74 100644
--- a/core/modules/block/custom_block/custom_block.routing.yml
+++ b/core/modules/block/custom_block/custom_block.routing.yml
@@ -1,3 +1,11 @@
+custom_block_type_list:
+  pattern: '/admin/structure/custom-blocks'
+  defaults:
+    _content: '\Drupal\Core\Entity\Controller\EntityListController::listing'
+    entity_type: 'custom_block_type'
+  requirements:
+    _permission: 'administer blocks'
+
 custom_block_add_page:
   pattern: block/add
   defaults: