diff --git src/bp-templates/bp-nouveau/buddypress-functions.php src/bp-templates/bp-nouveau/buddypress-functions.php
index 0a5d582ad..47cc20c19 100644
--- src/bp-templates/bp-nouveau/buddypress-functions.php
+++ src/bp-templates/bp-nouveau/buddypress-functions.php
@@ -322,15 +322,6 @@ class BP_Nouveau extends BP_Theme_Compat {
 			return;
 		}
 
-		// Add The password verify if needed.
-		if ( bp_is_active( 'settings' ) || bp_get_signup_allowed() ) {
-			$scripts['bp-nouveau-password-verify'] = array(
-				'file'         => 'js/password-verify%s.js',
-				'dependencies' => array( 'bp-nouveau', 'password-strength-meter' ),
-				'footer'       => true,
-			);
-		}
-
 		foreach ( $scripts as $handle => $script ) {
 			if ( ! isset( $script['file'] ) ) {
 				continue;
@@ -372,7 +363,7 @@ class BP_Nouveau extends BP_Theme_Compat {
 		wp_enqueue_script( 'bp-nouveau' );
 
 		if ( bp_is_register_page() || bp_is_user_settings_general() ) {
-			wp_enqueue_script( 'bp-nouveau-password-verify' );
+			wp_enqueue_script( 'user-profile' );
 		}
 
 		if ( is_singular() && bp_is_blog_page() && get_option( 'thread_comments' ) ) {
diff --git src/bp-templates/bp-nouveau/buddypress/members/single/settings/general.php src/bp-templates/bp-nouveau/buddypress/members/single/settings/general.php
index 462191faa..7b1ccb5a7 100644
--- src/bp-templates/bp-nouveau/buddypress/members/single/settings/general.php
+++ src/bp-templates/bp-nouveau/buddypress/members/single/settings/general.php
@@ -16,12 +16,12 @@ bp_nouveau_member_hook( 'before', 'settings_template' ); ?>
 	<?php _e( 'Update your email and or password.', 'buddypress' ); ?>
 </p>
 
-<form action="<?php echo esc_url( bp_displayed_user_domain() . bp_get_settings_slug() . '/general' ); ?>" method="post" class="standard-form" id="settings-form">
+<form action="<?php echo esc_url( bp_displayed_user_domain() . bp_get_settings_slug() . '/general' ); ?>" method="post" class="standard-form" id="your-profile">
 
 	<?php if ( ! is_super_admin() ) : ?>
 
 		<label for="pwd"><?php _e( 'Current Password <span>(required to update email or change current password)</span>', 'buddypress' ); ?></label>
-		<input type="password" name="pwd" id="pwd" size="16" value="" class="settings-input small" <?php bp_form_field_attributes( 'password' ); ?>/> &nbsp;<a href="<?php echo esc_url( wp_lostpassword_url() ); ?>"><?php esc_html_e( 'Lost your password?', 'buddypress' ); ?></a>
+		<input type="password" name="pwd" id="pwd" value="" size="24" class="settings-input small" <?php bp_form_field_attributes( 'password' ); ?>/> &nbsp;<a href="<?php echo esc_url( wp_lostpassword_url() ); ?>"><?php esc_html_e( 'Lost your password?', 'buddypress' ); ?></a>
 
 	<?php endif; ?>
 
@@ -30,16 +30,41 @@ bp_nouveau_member_hook( 'before', 'settings_template' ); ?>
 
 	<div class="info bp-feedback">
 		<span class="bp-icon" aria-hidden="true"></span>
-		<p class="text"><?php esc_html_e( 'Leave password fields blank for no change', 'buddypress' ); ?></p>
+		<p class="text"><?php esc_html_e( 'Click on the "Generate Password" button to change your password.', 'buddypress' ); ?></p>
 	</div>
 
-	<label for="pass1"><?php esc_html_e( 'Add Your New Password', 'buddypress' ); ?></label>
-	<input type="password" name="pass1" id="pass1" size="16" value="" class="settings-input small password-entry" <?php bp_form_field_attributes( 'password' ); ?>/>
+	<div class="user-pass1-wrap">
+		<button type="button" class="button wp-generate-pw">
+			<?php esc_html_e( 'Generate Password', 'buddypress' ); ?>
+		</button>
 
-	<label for="pass2" class="repeated-pwd"><?php esc_html_e( 'Repeat Your New Password', 'buddypress' ); ?></label>
-	<input type="password" name="pass2" id="pass2" size="16" value="" class="settings-input small password-entry-confirm" <?php bp_form_field_attributes( 'password' ); ?>/>
+		<div class="wp-pwd">
+			<label for="pass1"><?php esc_html_e( 'Add Your New Password', 'buddypress' ); ?></label>
+			<span class="password-input-wrapper">
+				<input type="password" name="pass1" id="pass1" size="24" class="settings-input small password-entry" value="" <?php bp_form_field_attributes( 'password', array( 'data-pw' => wp_generate_password( 24 ), 'aria-describedby' => 'pass-strength-result' ) ); ?> />
+			</span>
+			<button type="button" class="button wp-hide-pw" data-toggle="0" aria-label="<?php esc_attr_e( 'Hide password', 'buddypress' ); ?>">
+				<span class="dashicons dashicons-hidden" aria-hidden="true"></span>
+				<span class="text bp-screen-reader-text"><?php esc_html_e( 'Hide', 'buddypress' ); ?></span>
+			</button>
+			<button type="button" class="button wp-cancel-pw" data-toggle="0" aria-label="<?php esc_attr_e( 'Cancel password change', 'buddypress' ); ?>">
+				<span class="text"><?php esc_html_e( 'Cancel', 'buddypress' ); ?></span>
+			</button>
+			<div id="pass-strength-result" aria-live="polite"></div>
+		</div>
+	</div>
+
+	<div class="user-pass2-wrap">
+		<label class="label" for="pass2"><?php esc_html_e( 'Repeat Your New Password', 'buddypress' ); ?></label>
+		<input name="pass2" type="password" id="pass2" size="24" class="settings-input small password-entry-confirm" value="" <?php bp_form_field_attributes( 'password' ); ?> />
+	</div>
 
-	<div id="pass-strength-result"></div>
+	<div class="pw-weak">
+		<label>
+			<input type="checkbox" name="pw_weak" class="pw-checkbox" />
+			<span id="pw-weak-text-label"><?php _e( 'Confirm use of potentially weak password', 'buddypress' ); ?></span>
+		</label>
+	</div>
 
 	<?php bp_nouveau_submit_button( 'members-general-settings' ); ?>
 
diff --git src/bp-templates/bp-nouveau/common-styles/_bp_forms.scss src/bp-templates/bp-nouveau/common-styles/_bp_forms.scss
index fa0f83c98..72b1fb1d3 100644
--- src/bp-templates/bp-nouveau/common-styles/_bp_forms.scss
+++ src/bp-templates/bp-nouveau/common-styles/_bp_forms.scss
@@ -132,7 +132,7 @@
 			}
 		}
 
-		input:not(.button-small),
+		input:not(.small),
 		textarea {
 			width: 100%;
 		}
diff --git src/bp-templates/bp-nouveau/common-styles/_bp_registration.scss src/bp-templates/bp-nouveau/common-styles/_bp_registration.scss
index 7ba78f393..db45ec491 100644
--- src/bp-templates/bp-nouveau/common-styles/_bp_registration.scss
+++ src/bp-templates/bp-nouveau/common-styles/_bp_registration.scss
@@ -51,6 +51,42 @@
 			margin: 0 $marg-med $marg-sml 0;
 		}
 
+		.wp-pwd button {
+			vertical-align: middle;
+		}
+
+		#pass1,
+		#pass1-text,
+		#pass-strength-result {
+			width: 10em;
+		}
+
+		#pass1-text,
+		.pw-weak {
+			display: none;
+		}
+
+		.show-password {
+
+			#pass1-text {
+				display: inline-block;
+			}
+
+			#pass1 {
+				display: none;
+			}
+		}
+
+		.description.indicator-hint {
+
+			@include font-size(14);
+		}
+
+		#submit:disabled {
+			color: $light-text;
+			opacity: 0.4;
+		}
+
 		.password-entry,
 		.password-entry-confirm {
 			border: 1px solid $bp-border-color;
@@ -59,6 +95,20 @@
 
 } // close .register-page
 
+body.buddypress.register.js {
+
+	.user-pass2-wrap {
+		display: none;
+	}
+}
+
+body.buddypress.register.no-js {
+
+	.wp-hide-pw {
+		display: none;
+	}
+}
+
 // Flex layout containers for registration sections
 
 @include medium-up() {
@@ -101,6 +151,7 @@
 		.register-page {
 
 			.default-profile {
+				min-width: 14em;
 				flex: 1;
 				padding-right: $pad-med;
 			}
diff --git src/bp-templates/bp-nouveau/common-styles/_bp_user_settings.scss src/bp-templates/bp-nouveau/common-styles/_bp_user_settings.scss
index 8ad15fc3f..c3719f6d8 100644
--- src/bp-templates/bp-nouveau/common-styles/_bp_user_settings.scss
+++ src/bp-templates/bp-nouveau/common-styles/_bp_user_settings.scss
@@ -28,7 +28,60 @@
 // General
 
 /*__ General __*/
+body.buddypress.settings {
 
+	.wp-pwd button {
+		vertical-align: middle;
+	}
+
+	#pass1,
+	#pass1-text,
+	#pass-strength-result {
+		width: 16em;
+	}
+
+	#pass1-text,
+	.pw-weak,
+	#pass-strength-result {
+		display: none;
+	}
+
+	.show-password {
+
+		#pass1-text {
+			display: inline-block;
+		}
+
+		#pass1 {
+			display: none;
+		}
+	}
+
+	#your-profile {
+
+		#submit:disabled {
+			color: $light-text;
+			opacity: 0.4;
+		}
+	}
+}
+
+body.buddypress.settings.js {
+
+	.wp-pwd,
+	.user-pass2-wrap {
+		display: none;
+	}
+}
+
+body.buddypress.settings.no-js {
+
+	.wp-generate-pw,
+	.wp-cancel-pw,
+	.wp-hide-pw {
+		display: none;
+	}
+}
 
 // Email notifications
 
diff --git src/bp-templates/bp-nouveau/css/buddypress-rtl.css src/bp-templates/bp-nouveau/css/buddypress-rtl.css
index b716e4fec..150690cf6 100644
--- src/bp-templates/bp-nouveau/css/buddypress-rtl.css
+++ src/bp-templates/bp-nouveau/css/buddypress-rtl.css
@@ -1946,11 +1946,51 @@ form.ac-form .ac-reply-content input {
 	margin: 0 0 10px 15px;
 }
 
+.register-page .signup-form .wp-pwd button {
+	vertical-align: middle;
+}
+
+.register-page .signup-form #pass1,
+.register-page .signup-form #pass1-text,
+.register-page .signup-form #pass-strength-result {
+	width: 10em;
+}
+
+.register-page .signup-form #pass1-text,
+.register-page .signup-form .pw-weak {
+	display: none;
+}
+
+.register-page .signup-form .show-password #pass1-text {
+	display: inline-block;
+}
+
+.register-page .signup-form .show-password #pass1 {
+	display: none;
+}
+
+.register-page .signup-form .description.indicator-hint {
+	font-size: 14px;
+}
+
+.register-page .signup-form #submit:disabled {
+	color: #767676;
+	opacity: 0.4;
+}
+
 .register-page .signup-form .password-entry,
 .register-page .signup-form .password-entry-confirm {
 	border: 1px solid #eee;
 }
 
+body.buddypress.register.js .user-pass2-wrap {
+	display: none;
+}
+
+body.buddypress.register.no-js .wp-hide-pw {
+	display: none;
+}
+
 @media screen and (min-width: 46.8em) {
 	.buddypress-wrap .register-page .layout-wrap {
 		display: flex;
@@ -1972,6 +2012,7 @@ form.ac-form .ac-reply-content input {
 
 @media screen and (min-width: 46.8em) {
 	.buddypress-wrap.extended-default-reg .register-page .default-profile {
+		min-width: 14em;
 		flex: 1;
 		padding-left: 1em;
 	}
@@ -3220,6 +3261,46 @@ div.bp-navs#subsubnav.bp-messages-filters .user-messages-bulk-actions {
 }
 
 /*__ General __*/
+body.buddypress.settings .wp-pwd button {
+	vertical-align: middle;
+}
+
+body.buddypress.settings #pass1,
+body.buddypress.settings #pass1-text,
+body.buddypress.settings #pass-strength-result {
+	width: 16em;
+}
+
+body.buddypress.settings #pass1-text,
+body.buddypress.settings .pw-weak,
+body.buddypress.settings #pass-strength-result {
+	display: none;
+}
+
+body.buddypress.settings .show-password #pass1-text {
+	display: inline-block;
+}
+
+body.buddypress.settings .show-password #pass1 {
+	display: none;
+}
+
+body.buddypress.settings #your-profile #submit:disabled {
+	color: #767676;
+	opacity: 0.4;
+}
+
+body.buddypress.settings.js .wp-pwd,
+body.buddypress.settings.js .user-pass2-wrap {
+	display: none;
+}
+
+body.buddypress.settings.no-js .wp-generate-pw,
+body.buddypress.settings.no-js .wp-cancel-pw,
+body.buddypress.settings.no-js .wp-hide-pw {
+	display: none;
+}
+
 /*__ Email notifications __*/
 /*__ Profile visibility __*/
 /*__ Group Invites __*/
@@ -3335,7 +3416,7 @@ body.buddypress.settings.data #buddypress.buddypress-wrap .item-body p a {
 	border-color: #b71717;
 }
 
-.buddypress-wrap .standard-form input:not(.button-small),
+.buddypress-wrap .standard-form input:not(.small),
 .buddypress-wrap .standard-form textarea {
 	width: 100%;
 }
diff --git src/bp-templates/bp-nouveau/css/buddypress.css src/bp-templates/bp-nouveau/css/buddypress.css
index 72848855d..4fcbe026a 100644
--- src/bp-templates/bp-nouveau/css/buddypress.css
+++ src/bp-templates/bp-nouveau/css/buddypress.css
@@ -1946,11 +1946,51 @@ form.ac-form .ac-reply-content input {
 	margin: 0 15px 10px 0;
 }
 
+.register-page .signup-form .wp-pwd button {
+	vertical-align: middle;
+}
+
+.register-page .signup-form #pass1,
+.register-page .signup-form #pass1-text,
+.register-page .signup-form #pass-strength-result {
+	width: 10em;
+}
+
+.register-page .signup-form #pass1-text,
+.register-page .signup-form .pw-weak {
+	display: none;
+}
+
+.register-page .signup-form .show-password #pass1-text {
+	display: inline-block;
+}
+
+.register-page .signup-form .show-password #pass1 {
+	display: none;
+}
+
+.register-page .signup-form .description.indicator-hint {
+	font-size: 14px;
+}
+
+.register-page .signup-form #submit:disabled {
+	color: #767676;
+	opacity: 0.4;
+}
+
 .register-page .signup-form .password-entry,
 .register-page .signup-form .password-entry-confirm {
 	border: 1px solid #eee;
 }
 
+body.buddypress.register.js .user-pass2-wrap {
+	display: none;
+}
+
+body.buddypress.register.no-js .wp-hide-pw {
+	display: none;
+}
+
 @media screen and (min-width: 46.8em) {
 	.buddypress-wrap .register-page .layout-wrap {
 		display: flex;
@@ -1972,6 +2012,7 @@ form.ac-form .ac-reply-content input {
 
 @media screen and (min-width: 46.8em) {
 	.buddypress-wrap.extended-default-reg .register-page .default-profile {
+		min-width: 14em;
 		flex: 1;
 		padding-right: 1em;
 	}
@@ -3220,6 +3261,46 @@ div.bp-navs#subsubnav.bp-messages-filters .user-messages-bulk-actions {
 }
 
 /*__ General __*/
+body.buddypress.settings .wp-pwd button {
+	vertical-align: middle;
+}
+
+body.buddypress.settings #pass1,
+body.buddypress.settings #pass1-text,
+body.buddypress.settings #pass-strength-result {
+	width: 16em;
+}
+
+body.buddypress.settings #pass1-text,
+body.buddypress.settings .pw-weak,
+body.buddypress.settings #pass-strength-result {
+	display: none;
+}
+
+body.buddypress.settings .show-password #pass1-text {
+	display: inline-block;
+}
+
+body.buddypress.settings .show-password #pass1 {
+	display: none;
+}
+
+body.buddypress.settings #your-profile #submit:disabled {
+	color: #767676;
+	opacity: 0.4;
+}
+
+body.buddypress.settings.js .wp-pwd,
+body.buddypress.settings.js .user-pass2-wrap {
+	display: none;
+}
+
+body.buddypress.settings.no-js .wp-generate-pw,
+body.buddypress.settings.no-js .wp-cancel-pw,
+body.buddypress.settings.no-js .wp-hide-pw {
+	display: none;
+}
+
 /*__ Email notifications __*/
 /*__ Profile visibility __*/
 /*__ Group Invites __*/
@@ -3335,7 +3416,7 @@ body.buddypress.settings.data #buddypress.buddypress-wrap .item-body p a {
 	border-color: #b71717;
 }
 
-.buddypress-wrap .standard-form input:not(.button-small),
+.buddypress-wrap .standard-form input:not(.small),
 .buddypress-wrap .standard-form textarea {
 	width: 100%;
 }
diff --git src/bp-templates/bp-nouveau/includes/functions.php src/bp-templates/bp-nouveau/includes/functions.php
index 711596337..a4cd20aa8 100644
--- src/bp-templates/bp-nouveau/includes/functions.php
+++ src/bp-templates/bp-nouveau/includes/functions.php
@@ -1161,22 +1161,8 @@ function bp_nouveau_get_signup_fields( $section = '' ) {
 				'type'           => 'email',
 				'class'          => '',
 			),
-			'signup_password' => array(
-				'label'          => __( 'Choose a Password', 'buddypress' ),
-				'required'       => true,
-				'value'          => '',
-				'attribute_type' => 'password',
-				'type'           => 'password',
-				'class'          => 'password-entry',
-			),
-			'signup_password_confirm' => array(
-				'label'          => __( 'Confirm Password', 'buddypress' ),
-				'required'       => true,
-				'value'          => '',
-				'attribute_type' => 'password',
-				'type'           => 'password',
-				'class'          => 'password-entry-confirm',
-			),
+			'signup_password' => array(),
+			'signup_password_confirm' => array(),
 		),
 		'blog_details' => array(
 			'signup_blog_url' => array(
@@ -1256,7 +1242,7 @@ function bp_nouveau_get_submit_button( $action = '' ) {
 			'nonce'      => 'bp_new_signup',
 			'attributes' => array(
 				'name'  => 'signup_submit',
-				'id'    => 'signup_submit',
+				'id'    => 'submit',
 				'value' => __( 'Complete Sign Up', 'buddypress' ),
 			),
 		),
diff --git src/bp-templates/bp-nouveau/includes/template-tags.php src/bp-templates/bp-nouveau/includes/template-tags.php
index 3cb716076..fcd8281fe 100644
--- src/bp-templates/bp-nouveau/includes/template-tags.php
+++ src/bp-templates/bp-nouveau/includes/template-tags.php
@@ -2309,147 +2309,172 @@ function bp_nouveau_signup_form( $section = 'account_details' ) {
 	}
 
 	foreach ( $fields as $name => $attributes ) {
-		list( $label, $required, $value, $attribute_type, $type, $class ) = array_values( $attributes );
+		if ( 'signup_password' === $name ) {
+			?>
+			<label for="pass1"><?php esc_html_e( 'Choose a Password (required)', 'buddypress' ); ?></label>
+			<div class="user-pass1-wrap">
+				<div class="wp-pwd">
+					<div class="password-input-wrapper">
+						<input type="password" data-reveal="1" name="signup_password" id="pass1" class="password-entry" size="24" value="" <?php bp_form_field_attributes( 'password', array( 'data-pw' => wp_generate_password( 12 ), 'aria-describedby' => 'pass-strength-result' ) ); ?> />
+						<button type="button" class="button wp-hide-pw">
+							<span class="dashicons dashicons-hidden" aria-hidden="true"></span>
+						</button>
+					</div>
+					<div id="pass-strength-result" aria-live="polite"><?php esc_html_e( 'Strength indicator', 'buddypress' ); ?></div>
+				</div>
+				<div class="pw-weak">
+					<label>
+						<input type="checkbox" name="pw_weak" class="pw-checkbox" />
+						<?php esc_html_e( 'Confirm use of weak password', 'buddypress' ); ?>
+					</label>
+				</div>
+			</div>
+			<?php
+		} elseif ( 'signup_password_confirm' === $name ) {
+			?>
+			<p class="user-pass2-wrap">
+				<label for="pass2"><?php esc_html_e( 'Confirm new password', 'bp-restricted-community' ); ?></label><br />
+				<input type="password" name="signup_password_confirm" id="pass2" class="password-entry-confirm" size="24" value="" <?php bp_form_field_attributes( 'password' ); ?> />
+			</p>
 
-		// Text fields are using strings, radios are using their inputs
-		$label_output = '<label for="%1$s">%2$s</label>';
-		$id           = $name;
-		$classes      = '';
+			<p class="description indicator-hint"><?php echo wp_get_password_hint(); ?></p>
+			<?php
+		} else {
+			list( $label, $required, $value, $attribute_type, $type, $class ) = array_values( $attributes );
 
-		if ( $required ) {
-			/* translators: Do not translate placeholders. 2 = form field name, 3 = "(required)". */
-			$label_output = __( '<label for="%1$s">%2$s %3$s</label>', 'buddypress' );
-		}
+			// Text fields are using strings, radios are using their inputs
+			$label_output = '<label for="%1$s">%2$s</label>';
+			$id           = $name;
+			$classes      = '';
 
-		// Output the label for regular fields
-		if ( 'radio' !== $type ) {
 			if ( $required ) {
-				printf( $label_output, esc_attr( $name ), esc_html( $label ), __( '(required)', 'buddypress' ) );
-			} else {
-				printf( $label_output, esc_attr( $name ), esc_html( $label ) );
+				/* translators: Do not translate placeholders. 2 = form field name, 3 = "(required)". */
+				$label_output = __( '<label for="%1$s">%2$s %3$s</label>', 'buddypress' );
 			}
 
-			if ( ! empty( $value ) && is_callable( $value ) ) {
-				$value = call_user_func( $value );
-			}
+			// Output the label for regular fields
+			if ( 'radio' !== $type ) {
+				if ( $required ) {
+					printf( $label_output, esc_attr( $name ), esc_html( $label ), __( '(required)', 'buddypress' ) );
+				} else {
+					printf( $label_output, esc_attr( $name ), esc_html( $label ) );
+				}
 
-		// Handle the specific case of Site's privacy differently
-		} elseif ( 'signup_blog_privacy_private' !== $name ) {
-			?>
-				<span class="label">
-					<?php esc_html_e( 'I would like my site to appear in search engines, and in public listings around this network.', 'buddypress' ); ?>
-				</span>
-			<?php
-		}
+				if ( ! empty( $value ) && is_callable( $value ) ) {
+					$value = call_user_func( $value );
+				}
 
-		// Set the additional attributes
-		if ( $attribute_type ) {
-			$existing_attributes = array();
+			// Handle the specific case of Site's privacy differently
+			} elseif ( 'signup_blog_privacy_private' !== $name ) {
+				?>
+					<span class="label">
+						<?php esc_html_e( 'I would like my site to appear in search engines, and in public listings around this network.', 'buddypress' ); ?>
+					</span>
+				<?php
+			}
 
-			if ( ! empty( $required ) ) {
-				$existing_attributes = array( 'aria-required' => 'true' );
+			// Set the additional attributes
+			if ( $attribute_type ) {
+				$existing_attributes = array();
 
-				/**
-				 * The blog section is hidden, so let's avoid a browser warning
-				 * and deal with the Blog section in Javascript.
-				 */
-				if ( $section !== 'blog_details' ) {
-					$existing_attributes['required'] = 'required';
+				if ( ! empty( $required ) ) {
+					$existing_attributes = array( 'aria-required' => 'true' );
+
+					/**
+					 * The blog section is hidden, so let's avoid a browser warning
+					 * and deal with the Blog section in Javascript.
+					 */
+					if ( $section !== 'blog_details' ) {
+						$existing_attributes['required'] = 'required';
+					}
 				}
+
+				$attribute_type = ' ' . bp_get_form_field_attributes( $attribute_type, $existing_attributes );
 			}
 
-			$attribute_type = ' ' . bp_get_form_field_attributes( $attribute_type, $existing_attributes );
-		}
+			// Specific case for Site's privacy
+			if ( 'signup_blog_privacy_public' === $name || 'signup_blog_privacy_private' === $name ) {
+				$name      = 'signup_blog_privacy';
+				$submitted = bp_get_signup_blog_privacy_value();
 
-		// Specific case for Site's privacy
-		if ( 'signup_blog_privacy_public' === $name || 'signup_blog_privacy_private' === $name ) {
-			$name      = 'signup_blog_privacy';
-			$submitted = bp_get_signup_blog_privacy_value();
+				if ( ! $submitted ) {
+					$submitted = 'public';
+				}
 
-			if ( ! $submitted ) {
-				$submitted = 'public';
+				$attribute_type = ' ' . checked( $value, $submitted, false );
 			}
 
-			$attribute_type = ' ' . checked( $value, $submitted, false );
-		}
+			// Do not run function to display errors for the private radio.
+			if ( 'private' !== $value ) {
 
-		// Do not run function to display errors for the private radio.
-		if ( 'private' !== $value ) {
+				/**
+				 * Fetch & display any BP member registration field errors.
+				 *
+				 * Passes BP signup errors to Nouveau's template function to
+				 * render suitable markup for error string.
+				 */
+				if ( isset( buddypress()->signup->errors[ $name ] ) ) {
+					nouveau_error_template( buddypress()->signup->errors[ $name ] );
+					$invalid = 'invalid';
+				}
+			}
 
-			/**
-			 * Fetch & display any BP member registration field errors.
-			 *
-			 * Passes BP signup errors to Nouveau's template function to
-			 * render suitable markup for error string.
-			 */
-			if ( isset( buddypress()->signup->errors[ $name ] ) ) {
-				nouveau_error_template( buddypress()->signup->errors[ $name ] );
-				$invalid = 'invalid';
+			if ( isset( $invalid ) && isset( buddypress()->signup->errors[ $name ] ) ) {
+				if ( ! empty( $class ) ) {
+					$class = $class . ' ' . $invalid;
+				} else {
+					$class = $invalid;
+				}
 			}
-		}
 
-		if ( isset( $invalid ) && isset( buddypress()->signup->errors[ $name ] ) ) {
-			if ( ! empty( $class ) ) {
-				$class = $class . ' ' . $invalid;
-			} else {
-				$class = $invalid;
+			if ( $class ) {
+				$class = sprintf(
+					' class="%s"',
+					esc_attr( join( ' ', array_map( 'sanitize_html_class', explode( ' ', $class ) ) ) )
+				);
 			}
-		}
 
-		if ( $class ) {
-			$class = sprintf(
-				' class="%s"',
-				esc_attr( join( ' ', array_map( 'sanitize_html_class', explode( ' ', $class ) ) ) )
+			// Set the input.
+			$field_output = sprintf(
+				'<input type="%1$s" name="%2$s" id="%3$s" %4$s value="%5$s" %6$s />',
+				esc_attr( $type ),
+				esc_attr( $name ),
+				esc_attr( $id ),
+				$class,  // Constructed safely above.
+				esc_attr( $value ),
+				$attribute_type // Constructed safely above.
 			);
-		}
 
-		// Set the input.
-		$field_output = sprintf(
-			'<input type="%1$s" name="%2$s" id="%3$s" %4$s value="%5$s" %6$s />',
-			esc_attr( $type ),
-			esc_attr( $name ),
-			esc_attr( $id ),
-			$class,  // Constructed safely above.
-			esc_attr( $value ),
-			$attribute_type // Constructed safely above.
-		);
-
-		// Not a radio, let's output the field
-		if ( 'radio' !== $type ) {
-			if ( 'signup_blog_url' !== $name ) {
-				print( $field_output );  // Constructed safely above.
-
-			// If it's the signup blog url, it's specific to Multisite config.
-			} elseif ( is_subdomain_install() ) {
-				// Constructed safely above.
-				printf(
-					'%1$s %2$s . %3$s',
-					is_ssl() ? 'https://' : 'http://',
-					$field_output,
-					bp_signup_get_subdomain_base()
-				);
+			// Not a radio, let's output the field
+			if ( 'radio' !== $type ) {
+				if ( 'signup_blog_url' !== $name ) {
+					print( $field_output );  // Constructed safely above.
+
+				// If it's the signup blog url, it's specific to Multisite config.
+				} elseif ( is_subdomain_install() ) {
+					// Constructed safely above.
+					printf(
+						'%1$s %2$s . %3$s',
+						is_ssl() ? 'https://' : 'http://',
+						$field_output,
+						bp_signup_get_subdomain_base()
+					);
+
+				// Subfolders!
+				} else {
+					printf(
+						'%1$s %2$s',
+						home_url( '/' ),
+						$field_output  // Constructed safely above.
+					);
+				}
 
-			// Subfolders!
+			// It's a radio, let's output the field inside the label
 			} else {
-				printf(
-					'%1$s %2$s',
-					home_url( '/' ),
-					$field_output  // Constructed safely above.
-				);
+				// $label_output and $field_output are constructed safely above.
+				printf( $label_output, esc_attr( $name ), $field_output . ' ' . esc_html( $label ) );
 			}
-
-		// It's a radio, let's output the field inside the label
-		} else {
-			// $label_output and $field_output are constructed safely above.
-			printf( $label_output, esc_attr( $name ), $field_output . ' ' . esc_html( $label ) );
 		}
-
-		// Password strength is restricted to the signup_password field
-		if ( 'signup_password' === $name ) :
-		?>
-			<div id="pass-strength-result"></div>
-		<?php
-		endif;
 	}
 
 	/**
diff --git src/bp-templates/bp-nouveau/js/password-verify.js src/bp-templates/bp-nouveau/js/password-verify.js
deleted file mode 100644
index 6fd604501..000000000
--- src/bp-templates/bp-nouveau/js/password-verify.js
+++ /dev/null
@@ -1,45 +0,0 @@
-/* jshint undef: false */
-/* Password Verify */
-/* global pwsL10n */
-/* @version 3.0.0 */
-( function( $ ){
-	function check_pass_strength() {
-		var pass1 = $( '.password-entry' ).val(),
-		    pass2 = $( '.password-entry-confirm' ).val(),
-		    strength;
-
-		// Reset classes and result text
-		$( '#pass-strength-result' ).removeClass( 'show mismatch short bad good strong' );
-		if ( ! pass1 ) {
-			$( '#pass-strength-result' ).html( pwsL10n.empty );
-			return;
-		}
-
-		strength = wp.passwordStrength.meter( pass1, wp.passwordStrength.userInputBlacklist(), pass2 );
-
-		switch ( strength ) {
-			case 2:
-				$( '#pass-strength-result' ).addClass( 'show bad' ).html( pwsL10n.bad );
-				break;
-			case 3:
-				$( '#pass-strength-result' ).addClass( 'show good' ).html( pwsL10n.good );
-				break;
-			case 4:
-				$( '#pass-strength-result' ).addClass( 'show strong' ).html( pwsL10n.strong );
-				break;
-			case 5:
-				$( '#pass-strength-result' ).addClass( 'show mismatch' ).html( pwsL10n.mismatch );
-				break;
-			default:
-				$( '#pass-strength-result' ).addClass( 'show short' ).html( pwsL10n['short'] );
-				break;
-		}
-	}
-
-	// Bind check_pass_strength to keyup events in the password fields
-	$( document ).ready( function() {
-		$( '.password-entry' ).val( '' ).keyup( check_pass_strength );
-		$( '.password-entry-confirm' ).val( '' ).keyup( check_pass_strength );
-	} );
-
-} )( jQuery );
