diff --git a/core/modules/user/user.routing.yml b/core/modules/user/user.routing.yml
index 55c57d1..05c8f3c 100644
--- a/core/modules/user/user.routing.yml
+++ b/core/modules/user/user.routing.yml
@@ -145,7 +145,7 @@ user.login:
     _form: '\Drupal\user\Form\UserLoginForm'
     _title: 'Log in'
   requirements:
-    _access: 'TRUE'
+    _user_is_anonymous: 'TRUE'
 
 user.edit:
   path: '/user/{user}/edit'
diff --git a/core/modules/user/user.services.yml b/core/modules/user/user.services.yml
index 1e8f9b3..70f433e 100644
--- a/core/modules/user/user.services.yml
+++ b/core/modules/user/user.services.yml
@@ -20,6 +20,10 @@ services:
     arguments: ['@session_manager']
     tags:
       - { name: authentication_provider, priority: 0 }
+  access_check.user.anonymous:
+    class: Drupal\user\Access\AnonymousAccessCheck
+    tags:
+      - { name: access_check, applies_to: _user_is_anonymous }
   cache_context.user:
     class: Drupal\user\Cache\UserCacheContext
     arguments: ['@current_user']
