diff --git a/src/wp-admin/includes/user.php b/src/wp-admin/includes/user.php
index 4411880768..f99c50d85c 100644
--- a/src/wp-admin/includes/user.php
+++ b/src/wp-admin/includes/user.php
@@ -112,25 +112,25 @@ function edit_user( $user_id = 0 ) {
 		}
 	}
 
+	if ( isset( $_POST['locale'] ) ) {
+		$locale = sanitize_text_field( $_POST['locale'] );
+		if ( 'site-default' === $locale ) {
+			$locale = '';
+		} elseif ( '' === $locale ) {
+			$locale = 'en_US';
+		} elseif ( ! in_array( $locale, get_available_languages(), true ) ) {
+			$locale = '';
+		}
+
+		$user->locale = $locale;
+	}
+
 	if ( $update ) {
 		$user->rich_editing         = isset( $_POST['rich_editing'] ) && 'false' === $_POST['rich_editing'] ? 'false' : 'true';
 		$user->syntax_highlighting  = isset( $_POST['syntax_highlighting'] ) && 'false' === $_POST['syntax_highlighting'] ? 'false' : 'true';
 		$user->admin_color          = isset( $_POST['admin_color'] ) ? sanitize_text_field( $_POST['admin_color'] ) : 'fresh';
 		$user->show_admin_bar_front = isset( $_POST['admin_bar_front'] ) ? 'true' : 'false';
 		$user->locale               = '';
-
-		if ( isset( $_POST['locale'] ) ) {
-			$locale = sanitize_text_field( $_POST['locale'] );
-			if ( 'site-default' === $locale ) {
-				$locale = '';
-			} elseif ( '' === $locale ) {
-				$locale = 'en_US';
-			} elseif ( ! in_array( $locale, get_available_languages(), true ) ) {
-				$locale = '';
-			}
-
-			$user->locale = $locale;
-		}
 	}
 
 	$user->comment_shortcuts = isset( $_POST['comment_shortcuts'] ) && 'true' == $_POST['comment_shortcuts'] ? 'true' : '';
diff --git a/src/wp-admin/user-new.php b/src/wp-admin/user-new.php
index be4b5083bc..fe542e41b2 100644
--- a/src/wp-admin/user-new.php
+++ b/src/wp-admin/user-new.php
@@ -498,6 +498,30 @@ if ( current_user_can( 'create_users' ) ) {
 		<th scope="row"><label for="url"><?php _e( 'Website' ); ?></label></th>
 		<td><input name="url" type="url" id="url" class="code" value="<?php echo esc_attr( $new_user_uri ); ?>" /></td>
 	</tr>
+	<?php
+	$languages = get_available_languages();
+	if ( $languages ) : ?>
+		<tr class="form-field user-language-wrap">
+			<th scope="row">
+				<?php /* translators: The user language selection field label */ ?>
+				<label for="locale"><?php _e( 'Language' ); ?><span class="dashicons dashicons-translation" aria-hidden="true"></span></label>
+			</th>
+			<td>
+				<?php
+				wp_dropdown_languages( array(
+					'name'                        => 'locale',
+					'id'                          => 'locale',
+					'selected'                    => 'site-default',
+					'languages'                   => $languages,
+					'show_available_translations' => false,
+					'show_option_site_default'    => true,
+				) );
+				?>
+			</td>
+		</tr>
+	<?php
+	endif;
+	?>
 	<tr class="form-field form-required user-pass1-wrap">
 		<th scope="row">
 			<label for="pass1">
