Index: wp-admin/includes/user.php
===================================================================
--- wp-admin/includes/user.php	(revision 27299)
+++ wp-admin/includes/user.php	(working copy)
@@ -176,7 +176,8 @@
 		$user_id = wp_update_user( $user );
 	} else {
 		$user_id = wp_insert_user( $user );
-		wp_new_user_notification( $user_id, isset( $_POST['send_password'] ) ? wp_unslash( $pass1 ) : '' );
+		if (!is_wp_error($user_id))
+			wp_new_user_notification( $user_id, isset( $_POST['send_password'] ) ? wp_unslash( $pass1 ) : '' );
 	}
 	return $user_id;
 }
Index: wp-includes/user.php
===================================================================
--- wp-includes/user.php	(revision 27299)
+++ wp-includes/user.php	(working copy)
@@ -1542,6 +1542,9 @@
 	if ( !$update && username_exists( $user_login ) )
 		return new WP_Error( 'existing_user_login', __( 'Sorry, that username already exists!' ) );
 
+	if ( in_array( $user_login, apply_filters( 'illegal_user_logins', array() ) ) ) 
+	    return new WP_Error( 'illegal-user-login', __( "Sorry, that username is not allowed." ) );
+
 	if ( empty($user_nicename) )
 		$user_nicename = sanitize_title( $user_login );
 
