Index: wp-admin/includes/upgrade.php
===================================================================
--- wp-admin/includes/upgrade.php	(revision 13136)
+++ wp-admin/includes/upgrade.php	(working copy)
@@ -68,7 +68,7 @@
 		$user_id = wp_create_user($user_name, $user_password, $user_email);
 		update_user_option($user_id, 'default_password_nag', true);
 	} else if ( !$user_id ) {
-		$message = __('<strong><em>Note that password</em></strong> carefully!');
+		$message = '';
 		$user_id = wp_create_user($user_name, $user_password, $user_email);
 	} else {
 		$message =  __('User already exists.  Password inherited.');
Index: wp-admin/install.php
===================================================================
--- wp-admin/install.php	(revision 13136)
+++ wp-admin/install.php	(working copy)
@@ -94,8 +94,10 @@
 		<tr>
 			<th scope="row"><label for="admin_password"><?php _e('Password'); ?></label></th>
 			<td>
-				<input name="admin_password" type="password" id="pass1" size="25" value="<?php  echo esc_attr( $admin_password ); ?>" />
+				<input name="admin_password1" type="password" id="pass1" size="25" value="<?php  echo esc_attr( $admin_password ); ?>" />
 				<br /><?php _e('A password will be automatically generated for you if you leave this field blank.'); ?>
+				<input name="admin_password2" type="password" id="pass2" size="25" value="<?php  echo esc_attr( $admin_password ); ?>" />
+				<br /><?php _e('Type your password again.'); ?>
 				<br /><div id="pass-strength-result"><?php _e('Strength indicator'); ?></div>
 				<p class="description indicator-hint"><?php _e('Hint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ &amp; ).'); ?></p>
 			</td>
@@ -159,8 +161,9 @@
 		display_header();
 		// Fill in the data we gathered
 		$weblog_title = isset( $_POST['weblog_title'] ) ? trim( stripslashes( $_POST['weblog_title'] ) ) : '';
-		$user_name = isset($_POST['user_name']) ? trim( stripslashes( $_POST['user_name'] ) ) : 'admin';
-		$admin_password = isset($_POST['admin_password']) ? trim( stripslashes( $_POST['admin_password'] ) ) : '';
+		$user_name = isset( $_POST['user_name'] ) ? trim( stripslashes( $_POST['user_name'] ) ) : 'admin';
+		$admin_password1 = isset( $_POST['admin_password1'] ) ? trim( stripslashes( $_POST['admin_password1'] ) ) : '';
+		$admin_password2 = isset( $_POST['admin_password2'] ) ? trim( stripslashes( $_POST['admin_password2'] ) ) : '';
 		$admin_email  = isset( $_POST['admin_email']  ) ?trim( stripslashes( $_POST['admin_email'] ) ) : '';
 		$public       = isset( $_POST['blog_public']  ) ? (int) $_POST['blog_public'] : 0;
 		// check e-mail address
@@ -169,6 +172,10 @@
 			// TODO: poka-yoke
 			display_setup_form( __('you must provide a valid user name.') );
 			$error = true;
+		} else if ( $admin_password1 != $admin_password2) {
+			// TODO: poka-yoke
+			display_setup_form( __( 'Please enter the same password into the two password fields.' ) );
+			$error = true;
 		} else if ( empty( $admin_email ) ) {
 			// TODO: poka-yoke
 			display_setup_form( __( 'you must provide an e-mail address.' ) );
@@ -181,7 +188,7 @@
 
 		if ( $error === false ) {
 			$wpdb->show_errors();
-			$result = wp_install($weblog_title, $user_name, $admin_email, $public, '', $admin_password);
+			$result = wp_install($weblog_title, $user_name, $admin_email, $public, '', $admin_password1);
 			extract( $result, EXTR_SKIP );
 ?>
 
@@ -189,6 +196,7 @@
 
 <p><?php _e( 'WordPress has been installed. Were you expecting more steps? Sorry to disappoint.' ); ?></p>
 
+<?php if ( empty($admin_password1) ): ?>
 <table class="form-table">
 	<tr>
 		<th><?php _e( 'Username' ); ?></th>
@@ -203,6 +211,7 @@
 		</td>
 	</tr>
 </table>
+<?php endif; ?>
 
 <p class="step"><a href="../wp-login.php" class="button"><?php _e( 'Log In' ); ?></a></p>
 
