Index: user.js
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.js,v
retrieving revision 1.9
diff -u -p -r1.9 user.js
--- user.js	20 Nov 2008 06:56:17 -0000	1.9
+++ user.js	29 Nov 2008 06:05:47 -0000
@@ -98,6 +98,7 @@ Drupal.evaluatePasswordStrength = functi
   var hasUppercase = password.match(/[A-Z]+/);
   var hasNumbers = password.match(/[0-9]+/);
   var hasPunctuation = password.match(/[^a-zA-Z0-9]+/);
+  var hasRecurring = password.match(/[a-z]{3,}|[A-Z]{3,}|[0-9]{3,}|[^a-zA-Z0-9]{3,}/);
 
   // If there is a username edit box on the page, compare password to that, otherwise
   // use value from the database.
@@ -127,6 +128,9 @@ Drupal.evaluatePasswordStrength = functi
     msg.push(translate.addPunctuation);
     weaknesses++;
   }
+  if (hasRecurring) {
+    msg.push(translate.addVariation);
+  }
 
   // Apply penalty for each weakness (balanced against length penalty).
   switch (weaknesses) {
@@ -139,10 +143,8 @@ Drupal.evaluatePasswordStrength = functi
       break;
 
     case 3:
-      strength -= 40;
-      break;
-
     case 4:
+    case 5:
       strength -= 40;
       break;
   }
