Index: src/wp-admin/js/user-profile.js
--- src/wp-admin/js/user-profile.js
+++ src/wp-admin/js/user-profile.js
@@ -7,15 +7,23 @@
 			pw_field2 = $('#pass2'),
 			pw_togglebtn = pw_new.find('.wp-hide-pw'),
 			pw_generatebtn = pw_new.find('button.wp-generate-pw'),
+			pw_cancelbtn = pw_new.find('button.wp-cancel-pw'),
 			pw_2 = $('.user-pass2-wrap'),
 			parentform = pw_new.closest('form'),
 			pw_strength = $('#pass-strength-result'),
 			pw_submitbtn_edit = $('#submit'),
 			pw_submitbtn_new = $( '#createusersub' ),
 			pw_checkbox = $('.pw-checkbox'),
-			pw_weak = $('.pw-weak')
+			pw_weak = $('.pw-weak'),
+			pw_update_lock = false
 		;
 
+		var beforeunload = function() {
+			if ( true === pw_update_lock ) {
+				return userProfileL10n.warn;
+			}
+		}
+
 		var generatePassword = window.generatePassword = function() {
 			if ( typeof zxcvbn !== 'function' ) {
 				setTimeout( generatePassword, 50 );
@@ -88,8 +96,15 @@
 			pw_generatebtn.hide();
 			pw_line.show();
 			generatePassword();
+			pw_update_lock = true;
 		});
 
+		pw_line.on( 'click', 'button.wp-cancel-pw', function(){
+			pw_generatebtn.show();
+			pw_line.hide();
+			pw_update_lock = false;
+		});
+
 		pw_togglebtn.on( 'click', function() {
 			var show = pw_togglebtn.attr( 'data-toggle' );
 			if ( show == 1 ) {
@@ -108,6 +123,8 @@
 			pw_field.focus();
 			pw_field[0].setSelectionRange(100, 100);
 		});
+
+		$( window ).on( 'beforeunload', beforeunload );
 	});
 
 	function check_pass_strength() {
Index: src/wp-admin/user-edit.php
--- src/wp-admin/user-edit.php
+++ src/wp-admin/user-edit.php
@@ -452,23 +452,28 @@
 	<td><textarea name="description" id="description" rows="5" cols="30"><?php echo $profileuser->description; // textarea_escaped ?></textarea>
 	<p class="description"><?php _e('Share a little biographical information to fill out your profile. This may be shown publicly.'); ?></p></td>
 </tr>
-
+</table>
 <?php
 /** This filter is documented in wp-admin/user-new.php */
 $show_password_fields = apply_filters( 'show_password_fields', true, $profileuser );
 if ( $show_password_fields ) :
 ?>
+<h3><?php _e('Account Management') ?></h3>
+<table class="form-table">
 <tr id="password" class="user-pass1-wrap">
 	<th><label for="pass1"><?php _e( 'New Password' ); ?></label></th>
 	<td>
 		<input class="hidden" value=" " /><!-- #24364 workaround -->
-		<button type="button" class="button button-secondary wp-generate-pw hide-if-no-js"><?php _e( 'Generate new password' ); ?></button>
+		<button type="button" class="button button-secondary wp-generate-pw hide-if-no-js"><?php _e( 'Generate Password' ); ?></button>
 		<div class="wp-pwd hide-if-js">
 			<input type="password" name="pass1" id="pass1" class="regular-text" value="" autocomplete="off" data-pw="<?php echo esc_attr( wp_generate_password( 24 ) ); ?>" />
 			<button type="button" class="button button-secondary wp-hide-pw hide-if-no-js" data-toggle="0">
 				<span class="dashicons dashicons-visibility"></span>
 				<span class="text"><?php _e( 'Hide' ); ?></span>
 			</button>
+			<button type="button" class="button button-secondary wp-cancel-pw hide-if-no-js" data-toggle="0">
+				<span class="text"><?php _e( 'Cancel' ); ?></span>
+			</button>
 			<div style="display:none" id="pass-strength-result"></div>
 		</div>
 	</td>
@@ -483,7 +488,7 @@
 <tr class="pw-weak">
 	<th><?php _e( 'Confirm Password' ); ?></th>
 	<td>
-		<label for="pw_weak">
+		<label>
 			<input type="checkbox" name="pw_weak" class="pw-checkbox" id="pw-weak" />
 			<?php _e( 'Confirm use of weak password' ); ?>
 		</label>
@@ -494,9 +499,9 @@
 <?php
 if ( IS_PROFILE_PAGE && count( $sessions->get_all() ) === 1 ) : ?>
 	<tr class="user-sessions-wrap hide-if-no-js">
-		<th>&nbsp;</th>
+		<th><?php _e( 'Sessions' ); ?></th>
 		<td aria-live="assertive">
-			<div class="destroy-sessions"><button type="button" disabled class="button button-secondary"><?php _e( 'Log Out of All Other Sessions' ); ?></button></div>
+			<div class="destroy-sessions"><button type="button" disabled class="button button-secondary"><?php _e( 'Sign-out Everywhere' ); ?></button></div>
 			<p class="description">
 				<?php _e( 'You are only logged in at this location.' ); ?>
 			</p>
@@ -504,9 +509,9 @@
 	</tr>
 <?php elseif ( IS_PROFILE_PAGE && count( $sessions->get_all() ) > 1 ) : ?>
 	<tr class="user-sessions-wrap hide-if-no-js">
-		<th>&nbsp;</th>
+		<th><?php _e( 'Sessions' ); ?></th>
 		<td aria-live="assertive">
-			<div class="destroy-sessions"><button type="button" class="button button-secondary" id="destroy-sessions"><?php _e( 'Log Out of All Other Sessions' ); ?></button></div>
+			<div class="destroy-sessions"><button type="button" class="button button-secondary" id="destroy-sessions"><?php _e( 'Sign-out Everywhere' ); ?></button></div>
 			<p class="description">
 				<?php _e( 'Left your account logged in at a public computer? Lost your phone? This will log you out everywhere except your current browser.' ); ?>
 			</p>
Index: src/wp-admin/user-new.php
--- src/wp-admin/user-new.php
+++ src/wp-admin/user-new.php
@@ -407,6 +407,9 @@
 					<span class="dashicons dashicons-visibility"></span>
 					<span class="text"><?php _e( 'Hide' ); ?></span>
 				</button>
+				<button type="button" class="button button-secondary wp-cancel-pw hide-if-no-js" data-toggle="0">
+					<span class="text"><?php _e( 'Cancel' ); ?></span>
+				</button>
 				<div style="display:none" id="pass-strength-result"></div>
 			</div>
 			<p><span class="description"><?php _e( 'A password reset link will be sent to the user via email.' ); ?></span></p>
@@ -421,8 +424,8 @@
 	<tr class="pw-weak">
 		<th><?php _e( 'Confirm Password' ); ?></th>
 		<td>
-			<label for="pw-weak">
-				<input type="checkbox" name="pw-weak" class="pw-checkbox" id="pw-weak" />
+			<label>
+				<input type="checkbox" name="pw_weak" class="pw-checkbox" id="pw-weak" />
 				<?php _e( 'Confirm use of weak password' ); ?>
 			</label>
 		</td>
Index: src/wp-includes/script-loader.php
--- src/wp-includes/script-loader.php
+++ src/wp-includes/script-loader.php
@@ -374,8 +374,10 @@
 
 	$scripts->add( 'user-profile', "/wp-admin/js/user-profile$suffix.js", array( 'jquery', 'password-strength-meter', 'wp-util' ), false, 1 );
 	did_action( 'init' ) && $scripts->localize( 'user-profile', 'userProfileL10n', array(
-		'show' => __( 'Show' ),
-		'hide' => __( 'Hide' ),
+		'show'   => __( 'Show' ),
+		'hide'   => __( 'Hide' ),
+		'cancel' => __( 'Cancel' ),
+		'warn'   => __( 'Doing so now will leave your password unchanged.' ),
 	) );
 
 	$scripts->add( 'language-chooser', "/wp-admin/js/language-chooser$suffix.js", array( 'jquery' ), false, 1 );
