diff --git a/automatic_updates.routing.yml b/automatic_updates.routing.yml
index 7c3d0a5e8bc34e13461c8d69ca9375337ab9e1e7..cac92bc17281e7d8c349a27ae5d83039a32b0dfb 100644
--- a/automatic_updates.routing.yml
+++ b/automatic_updates.routing.yml
@@ -37,6 +37,7 @@ automatic_updates.report_update:
   options:
     _admin_route: TRUE
     _maintenance_access: TRUE
+    _automatic_updates_readiness_messages: skip
 automatic_updates.module_update:
   path: '/admin/modules/automatic-update'
   defaults:
@@ -47,6 +48,7 @@ automatic_updates.module_update:
   options:
     _admin_route: TRUE
     _maintenance_access: TRUE
+    _automatic_updates_readiness_messages: skip
 automatic_updates.theme_update:
   path: '/admin/theme/automatic-update'
   defaults:
@@ -57,3 +59,4 @@ automatic_updates.theme_update:
   options:
     _admin_route: TRUE
     _maintenance_access: TRUE
+    _automatic_updates_readiness_messages: skip
diff --git a/automatic_updates.services.yml b/automatic_updates.services.yml
index 516e06545f500cb3ba2158fbca33ee4d40549eb0..ce546a1feb02a176539052c5c3c5565153b16d90 100644
--- a/automatic_updates.services.yml
+++ b/automatic_updates.services.yml
@@ -1,4 +1,8 @@
 services:
+  automatic_updates.route_subscriber:
+    class: Drupal\automatic_updates\Routing\RouteSubscriber
+    tags:
+      - { name: event_subscriber }
   automatic_updates.readiness_validation_manager:
     class: Drupal\automatic_updates\Validation\ReadinessValidationManager
     arguments:
diff --git a/src/Routing/RouteSubscriber.php b/src/Routing/RouteSubscriber.php
new file mode 100644
index 0000000000000000000000000000000000000000..82469a10b13cd4a2c0aadc319f3eea122571da61
--- /dev/null
+++ b/src/Routing/RouteSubscriber.php
@@ -0,0 +1,39 @@
+<?php
+
+namespace Drupal\automatic_updates\Routing;
+
+use Drupal\Core\Routing\RouteSubscriberBase;
+use Symfony\Component\Routing\RouteCollection;
+
+/**
+ * Modifies route definitions.
+ *
+ * @internal
+ */
+class RouteSubscriber extends RouteSubscriberBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function alterRoutes(RouteCollection $collection) {
+    $disabled_routes = [
+      'update.theme_update',
+      'system.theme_install',
+      'update.module_update',
+      'update.module_install',
+      'update.status',
+      'update.report_update',
+      'update.report_install',
+      'update.settings',
+      'system.status',
+      'update.confirmation_page',
+    ];
+    foreach ($disabled_routes as $route) {
+      $route = $collection->get($route);
+      if ($route) {
+        $route->setOption('_automatic_updates_readiness_messages', 'skip');
+      }
+    }
+  }
+
+}
diff --git a/src/Validation/AdminReadinessMessages.php b/src/Validation/AdminReadinessMessages.php
index 286270a463ef4232738e3c842fb54a1ffee5d66e..4febff50046aa698a32288b362f5be950675f221 100644
--- a/src/Validation/AdminReadinessMessages.php
+++ b/src/Validation/AdminReadinessMessages.php
@@ -147,23 +147,8 @@ final class AdminReadinessMessages implements ContainerInjectionInterface {
     }
 
     if ($this->adminContext->isAdminRoute() && $this->currentUser->hasPermission('administer site configuration')) {
-      // These routes don't need additional nagging.
-      $disabled_routes = [
-        'update.theme_update',
-        'system.theme_install',
-        'update.module_update',
-        'update.module_install',
-        'update.status',
-        'update.report_update',
-        'update.report_install',
-        'update.settings',
-        'system.status',
-        'update.confirmation_page',
-        'automatic_updates.report_update',
-        'automatic_updates.module_update',
-        'automatic_updates.theme_update',
-      ];
-      return !in_array($this->currentRouteMatch->getRouteName(), $disabled_routes, TRUE);
+      $route = $this->currentRouteMatch->getRouteObject();
+      return $route && $route->getOption('_automatic_updates_readiness_messages') !== 'skip';
     }
     return FALSE;
   }