diff --git src/wp-admin/js/user-profile.js src/wp-admin/js/user-profile.js
index e744814..94d7c8b 100644
--- src/wp-admin/js/user-profile.js
+++ src/wp-admin/js/user-profile.js
@@ -27,6 +27,7 @@
 
 	function bindPass1() {
 		var passStrength = $('#pass-strength-result')[0];
+		var currentPass = $pass1.val();
 
 		$pass1Wrap = $pass1.parent();
 
@@ -50,23 +51,24 @@
 		}
 
 		$pass1.on( 'input propertychange', function () {
-			setTimeout( function () {
-				$pass1Text.val( $pass1.val() );
-				$pass1.add( $pass1Text ).removeClass( 'short bad good strong' );
-
-				if ( passStrength.className ) {
-					$pass1.add( $pass1Text ).addClass( passStrength.className );
-					if ( 'short' === passStrength.className || 'bad' === passStrength.className ) {
-						if ( ! $weakCheckbox.prop( 'checked' ) ) {
-							$submitButtons.prop( 'disabled', true );
-						}
-						$weakRow.show();
-					} else {
-						$submitButtons.prop( 'disabled', false );
-						$weakRow.hide();
+			if ( $pass1.val() === currentPass ) {
+				return;
+			}
+			$pass1Text.val( $pass1.val() );
+			$pass1.add( $pass1Text ).removeClass( 'short bad good strong' );
+
+			if ( passStrength.className ) {
+				$pass1.add( $pass1Text ).addClass( passStrength.className );
+				if ( 'short' === passStrength.className || 'bad' === passStrength.className ) {
+					if ( ! $weakCheckbox.prop( 'checked' ) ) {
+						$submitButtons.prop( 'disabled', true );
 					}
+					$weakRow.show();
+				} else {
+					$submitButtons.prop( 'disabled', false );
+					$weakRow.hide();
 				}
-			}, 1 );
+			}
 		} );
 	}
 
