diff --git a/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php b/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php
index 6c0c1ab..8c4e2dd 100644
--- a/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php
+++ b/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php
@@ -513,12 +513,22 @@ class WP_REST_Users_Controller extends WP_REST_Controller {

 		$user_id = wp_insert_user( wp_slash( (array) $prepared_user ) );

-		if ( is_wp_error( $user_id ) ) {
-			return $user_id;
+		if ( is_wp_error( $user_id ) ) {
+			$error_code = $user_id->get_error_code();
+
+			if ( in_array( $error_code, array( 'existing_user_email', 'existing_user_login' ), true ) ) {
+				$user_id->add_data(
+					array( 'status' => 409 ),
+					$error_code
+				);
+			}
+
+			return $user_id;
 		}

 		$user = get_user_by( 'id', $user_id );
