Index: wp-includes/registration.php
===================================================================
--- wp-includes/registration.php	(revision 11025)
+++ wp-includes/registration.php	(working copy)
@@ -176,16 +176,19 @@
 	if ( empty($user_registered) )
 		$user_registered = gmdate('Y-m-d H:i:s');
 
-	$user_nicename_check = $wpdb->get_var( $wpdb->prepare("SELECT ID FROM $wpdb->users WHERE user_nicename = %s AND ID != %d LIMIT 1" , $user_nicename, (int) $ID));
+	// Only check for unique user_nicename when updating since a user_id hasn't been created for a new user yet
+	if ( $update === true ) {
+		$user_nicename_check = $wpdb->get_var( $wpdb->prepare("SELECT ID FROM $wpdb->users WHERE user_nicename = %s AND ID != %d LIMIT 1" , $user_nicename, (int) $ID));
 
-	if ($user_nicename_check) {
-		$suffix = 2;
-		while ($user_nicename_check) {
-			$alt_user_nicename = $user_nicename . "-$suffix";
-			$user_nicename_check = $wpdb->get_var( $wpdb->prepare("SELECT ID FROM $wpdb->users WHERE user_nicename = %s AND ID != %d LIMIT 1" , $alt_user_nicename, (int) $ID));
-			$suffix++;
+		if ($user_nicename_check) {
+			$suffix = 2;
+			while ($user_nicename_check) {
+				$alt_user_nicename = $user_nicename . "-$suffix";
+				$user_nicename_check = $wpdb->get_var( $wpdb->prepare("SELECT ID FROM $wpdb->users WHERE user_nicename = %s AND ID != %d LIMIT 1" , $alt_user_nicename, (int) $ID));
+				$suffix++;
+			}
+			$user_nicename = $alt_user_nicename;
 		}
-		$user_nicename = $alt_user_nicename;
 	}
 
 	$data = compact( 'user_pass', 'user_email', 'user_url', 'user_nicename', 'display_name', 'user_registered' );
