diff --git a/core/modules/system/system.module b/core/modules/system/system.module
index 2ea0707..a3781e9 100644
--- a/core/modules/system/system.module
+++ b/core/modules/system/system.module
@@ -684,7 +684,7 @@ function system_menu() {
     if (!empty($theme->status)) {
       $items['admin/appearance/settings/' . $theme->name] = array(
         'title' => $theme->info['name'],
-        'route_name' => 'system_theme_settings_' . $theme->name,
+        'route_name' => 'system_theme_settings_theme',
         'type' => MENU_LOCAL_TASK,
       );
     }
diff --git a/core/modules/system/system.routing.yml b/core/modules/system/system.routing.yml
index b014b09..1dcc15e 100644
--- a/core/modules/system/system.routing.yml
+++ b/core/modules/system/system.routing.yml
@@ -294,6 +294,13 @@ system_theme_settings_global:
   requirements:
     _permission: 'administer themes'
 
+system_theme_settings_theme:
+  pattern: '/admin/appearance/settings/{theme_name}'
+  defaults:
+    _form: '\Drupal\system\Form\ThemeSettingsForm'
+  requirements:
+    _permission: 'administer themes'
+
 '<front>':
   pattern: '/'
   requirements:
diff --git a/core/modules/system/system.services.yml b/core/modules/system/system.services.yml
index f1838b5..5fbb007 100644
--- a/core/modules/system/system.services.yml
+++ b/core/modules/system/system.services.yml
@@ -14,7 +14,3 @@ services:
     class: Drupal\system\PathProcessor\PathProcessorFiles
     tags:
       - { name: path_processor_inbound, priority: 200 }
-  system.route_subscriber:
-    class: Drupal\system\Routing\RouteSubscriber
-    tags:
-      - { name: event_subscriber }
