Index: src/js/_enqueues/admin/user-profile.js
===================================================================
--- src/js/_enqueues/admin/user-profile.js	(revision 47110)
+++ src/js/_enqueues/admin/user-profile.js	(working copy)
@@ -33,9 +33,10 @@
 		}
 
 		if ( 1 !== parseInt( $toggleButton.data( 'start-masked' ), 10 ) ) {
-			$pass1.attr( 'type', 'text' );
+			/* Starting visible */
+			$toggleButton.trigger( 'click' );
 		} else {
-			$toggleButton.trigger( 'click' );
+			$pass1.attr( 'type', 'password' );
 		}
 
 		// Once zxcvbn loads, passwords strength is known.
Index: src/wp-admin/install.php
===================================================================
--- src/wp-admin/install.php	(revision 47110)
+++ src/wp-admin/install.php	(working copy)
@@ -142,9 +142,9 @@
 				<div class="wp-pwd">
 					<?php $initial_password = isset( $_POST['admin_password'] ) ? stripslashes( $_POST['admin_password'] ) : wp_generate_password( 18 ); ?>
 					<input type="password" name="admin_password" id="pass1" class="regular-text" autocomplete="off" data-reveal="1" data-pw="<?php echo esc_attr( $initial_password ); ?>" aria-describedby="pass-strength-result" />
-					<button type="button" class="button wp-hide-pw hide-if-no-js" data-start-masked="<?php echo (int) isset( $_POST['admin_password'] ); ?>" data-toggle="0" aria-label="<?php esc_attr_e( 'Hide password' ); ?>">
-						<span class="dashicons dashicons-hidden"></span>
-						<span class="text"><?php _e( 'Hide' ); ?></span>
+					<button type="button" class="button wp-hide-pw hide-if-no-js" data-start-masked="1" data-toggle="0" aria-label="<?php esc_attr_e( 'Show password' ); ?>">
+						<span class="dashicons dashicons-visibility"></span>
+						<span class="text"><?php _e( 'Show' ); ?></span>
 					</button>
 					<div id="pass-strength-result" aria-live="polite"></div>
 				</div>
