--- pluggable.php.ori	2009-11-20 19:59:19.953125000 +0100
+++ pluggable.php	2009-11-20 23:00:22.671875000 +0100
@@ -1145,26 +1145,57 @@
  * @param string $plaintext_pass Optional. The user's plaintext password
  */
 function wp_new_user_notification($user_id, $plaintext_pass = '') {
+	wp_new_user_notification_admin( $user_id, $plaintext_pass );
+	wp_new_user_notification_user( $user_id, $plaintext_pass );
+}
+endif;
+
+if ( !function_exists('wp_new_user_notification_user') ) :
+/**
+ * Sends password to the new user, normally via email.
+ *
+ * @since 2.9
+ *
+ * @param int $user_id User ID
+ * @param string $plaintext_pass Optional. The user's plaintext password
+ */
+function wp_new_user_notification_user($user_id, $plaintext_pass = '') {
+	if ( empty($plaintext_pass) )
+		return;
+
 	$user = new WP_User($user_id);
 
 	$user_login = stripslashes($user->user_login);
 	$user_email = stripslashes($user->user_email);
 
-	$message  = sprintf(__('New user registration on your blog %s:'), get_option('blogname')) . "\r\n\r\n";
-	$message .= sprintf(__('Username: %s'), $user_login) . "\r\n\r\n";
-	$message .= sprintf(__('E-mail: %s'), $user_email) . "\r\n";
-
-	@wp_mail(get_option('admin_email'), sprintf(__('[%s] New User Registration'), get_option('blogname')), $message);
-
-	if ( empty($plaintext_pass) )
-		return;
-
 	$message  = sprintf(__('Username: %s'), $user_login) . "\r\n";
 	$message .= sprintf(__('Password: %s'), $plaintext_pass) . "\r\n";
 	$message .= wp_login_url() . "\r\n";
 
 	wp_mail($user_email, sprintf(__('[%s] Your username and password'), get_option('blogname')), $message);
+}
+endif;
 
+if ( !function_exists('wp_new_user_notification_admin') ) :
+/**
+ * Notify the blog admin of a new user, normally via email.
+ *
+ * @since 2.9
+ *
+ * @param int $user_id User ID
+ * @param string $plaintext_pass Optional. The user's plaintext password
+ */
+function wp_new_user_notification_admin($user_id, $plaintext_pass = '') {
+	$user = new WP_User($user_id);
+
+	$user_login = stripslashes($user->user_login);
+	$user_email = stripslashes($user->user_email);
+
+	$message  = sprintf(__('New user registration on your blog %s:'), get_option('blogname')) . "\r\n\r\n";
+	$message .= sprintf(__('Username: %s'), $user_login) . "\r\n\r\n";
+	$message .= sprintf(__('E-mail: %s'), $user_email) . "\r\n";
+
+	@wp_mail(get_option('admin_email'), sprintf(__('[%s] New User Registration'), get_option('blogname')), $message);
 }
 endif;
 
