diff -Naur ori/wp-admin/includes/schema.php new/wp-admin/includes/schema.php
--- ori/wp-admin/includes/schema.php	2008-12-12 20:48:08.000000000 +0100
+++ new/wp-admin/includes/schema.php	2009-02-28 13:05:56.000000000 +0100
@@ -186,6 +186,7 @@
 	add_option('blogdescription', __('Just another WordPress weblog'));
 	add_option('users_can_register', 0);
 	add_option('admin_email', 'you@example.com');
+	add_option('send_annoying_emails_to_admin', 1);
 	add_option('start_of_week', 1);
 	add_option('use_balanceTags', 0);
 	add_option('use_smilies', 1);
diff -Naur ori/wp-admin/options-general.php new/wp-admin/options-general.php
--- ori/wp-admin/options-general.php	2008-12-09 18:03:32.000000000 +0100
+++ new/wp-admin/options-general.php	2009-02-28 13:25:18.000000000 +0100
@@ -80,6 +80,11 @@
 <span class="setting-description"><?php _e('This address is used for admin purposes, like new user notification.') ?></span></td>
 </tr>
 <tr valign="top">
+<th scope="row"><label for="send_annoying_emails_to_admin"><?php _e('Send annoying emails') ?> </label></th>
+<td><input name="send_annoying_emails_to_admin" type="checkbox" id="send_annoying_emails_to_admin" value="1" <?php checked('1', get_option('send_annoying_emails_to_admin')); ?>" />
+<span class="setting-description"><?php _e('Send annoying emails to admin, like new user notification.') ?></span></td>
+</tr>
+<tr valign="top">
 <th scope="row"><?php _e('Membership') ?></th>
 <td> <fieldset><legend class="hidden"><?php _e('Membership') ?></legend><label for="users_can_register">
 <input name="users_can_register" type="checkbox" id="users_can_register" value="1" <?php checked('1', get_option('users_can_register')); ?> />
diff -Naur ori/wp-admin/options.php new/wp-admin/options.php
--- ori/wp-admin/options.php	2008-12-09 18:03:32.000000000 +0100
+++ new/wp-admin/options.php	2009-02-28 13:12:34.000000000 +0100
@@ -22,7 +22,7 @@
 wp_reset_vars(array('action'));
 
 $whitelist_options = array(
-	'general' => array( 'blogname', 'blogdescription', 'admin_email', 'users_can_register', 'gmt_offset', 'date_format', 'time_format', 'start_of_week', 'default_role' ),
+	'general' => array( 'blogname', 'blogdescription', 'admin_email', 'send_annoying_emails_to_admin', 'users_can_register', 'gmt_offset', 'date_format', 'time_format', 'start_of_week', 'default_role' ),
 	'discussion' => array( 'default_pingback_flag', 'default_ping_status', 'default_comment_status', 'comments_notify', 'moderation_notify', 'comment_moderation', 'require_name_email', 'comment_whitelist', 'comment_max_links', 'moderation_keys', 'blacklist_keys', 'show_avatars', 'avatar_rating', 'avatar_default', 'close_comments_for_old_posts', 'close_comments_days_old', 'thread_comments', 'thread_comments_depth', 'page_comments', 'comments_per_page', 'default_comments_page', 'comment_order', 'comment_registration' ),
 	'misc' => array( 'hack_file', 'use_linksupdate', 'uploads_use_yearmonth_folders', 'upload_path', 'upload_url_path' ),
 	'media' => array( 'thumbnail_size_w', 'thumbnail_size_h', 'thumbnail_crop', 'medium_size_w', 'medium_size_h', 'large_size_w', 'large_size_h', 'image_default_size', 'image_default_align', 'image_default_link_type' ),
diff -Naur ori/wp-includes/pluggable.php new/wp-includes/pluggable.php
--- ori/wp-includes/pluggable.php	2009-01-29 17:59:04.000000000 +0100
+++ new/wp-includes/pluggable.php	2009-02-28 13:03:54.000000000 +0100
@@ -1081,7 +1081,7 @@
 function wp_password_change_notification(&$user) {
 	// send a copy of password change notification to the admin
 	// but check to see if it's the admin whose password we're changing, and skip this
-	if ( $user->user_email != get_option('admin_email') ) {
+	if ( ( $user->user_email != get_option('admin_email') ) && get_option('send_annoying_emails_to_admin') ) {
 		$message = sprintf(__('Password Lost and Changed for user: %s'), $user->user_login) . "\r\n";
 		wp_mail(get_option('admin_email'), sprintf(__('[%s] Password Lost/Changed'), get_option('blogname')), $message);
 	}
@@ -1103,11 +1103,14 @@
 	$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";
+	if ( get_option('send_annoying_emails_to_admin') )
+	{
+		$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);
+		@wp_mail(get_option('admin_email'), sprintf(__('[%s] New User Registration'), get_option('blogname')), $message);
+	}
 
 	if ( empty($plaintext_pass) )
 		return;
