diff --git a/django/contrib/auth/password_validation.py b/django/contrib/auth/password_validation.py
index 690be58700..d1302fb07d 100644
--- a/django/contrib/auth/password_validation.py
+++ b/django/contrib/auth/password_validation.py
@@ -197,9 +197,9 @@ class UserAttributeSimilarityValidator:
                 ):
                     continue
                 if (
-                    SequenceMatcher(a=password, b=value_part).quick_ratio()
+                    (matcher := SequenceMatcher(a=password, b=value_part)).quick_ratio()
                     >= self.max_similarity
-                ):
+                ) and matcher.ratio() >= self.max_similarity:
                     try:
                         verbose_name = str(
                             user._meta.get_field(attribute_name).verbose_name
diff --git a/tests/auth_tests/test_validators.py b/tests/auth_tests/test_validators.py
index 3ce2611633..024bb5aa02 100644
--- a/tests/auth_tests/test_validators.py
+++ b/tests/auth_tests/test_validators.py
@@ -231,6 +231,13 @@ class UserAttributeSimilarityValidatorTest(TestCase):
             )
         )
 
+        user.anagram = "mountaineers"
+        self.assertIsNone(
+            UserAttributeSimilarityValidator(user_attributes=["anagram"]).validate(
+                "enumerations", user=user
+            )
+        )
+
     @isolate_apps("auth_tests")
     def test_validate_property(self):
         class TestUser(models.Model):
