Index: wp-admin/includes/plugin.php
===================================================================
--- wp-admin/includes/plugin.php	(revision 21663)
+++ wp-admin/includes/plugin.php	(working copy)
@@ -1628,6 +1628,11 @@
 		$option_group = 'general';
 	}
 
+	if ( 'privacy' == $option_group ) {
+		_deprecated_argument( __FUNCTION__, '3.0', __( 'The privacy options group has been removed. Use another settings group.' ) );
+		$option_group = 'general';
+	}
+
 	$new_whitelist_options[ $option_group ][] = $option_name;
 	if ( $sanitize_callback != '' )
 		add_filter( "sanitize_option_{$option_name}", $sanitize_callback );
@@ -1651,6 +1656,11 @@
 		$option_group = 'general';
 	}
 
+	if ( 'privacy' == $option_group ) {
+		_deprecated_argument( __FUNCTION__, '3.0', __( 'The privacy options group has been removed. Use another settings group.' ) );
+		$option_group = 'general';
+	}
+
 	$pos = array_search( $option_name, (array) $new_whitelist_options );
 	if ( $pos !== false )
 		unset( $new_whitelist_options[ $option_group ][ $pos ] );
Index: wp-admin/includes/template.php
===================================================================
--- wp-admin/includes/template.php	(revision 21663)
+++ wp-admin/includes/template.php	(working copy)
@@ -1044,6 +1044,11 @@
 		$page = 'general';
 	}
 
+	if ( 'privacy' == $page ) {
+		_deprecated_argument( __FUNCTION__, '3.0', __( 'The privacy options group has been removed. Use another settings group.' ) );
+		$page = 'general';
+	}
+
 	if ( !isset($wp_settings_sections) )
 		$wp_settings_sections = array();
 	if ( !isset($wp_settings_sections[$page]) )
@@ -1084,6 +1089,11 @@
 		$page = 'general';
 	}
 
+	if ( 'privacy' == $page ) {
+		_deprecated_argument( __FUNCTION__, '3.0', __( 'The privacy options group has been removed. Use another settings group.' ) );
+		$page = 'general';
+	}
+
 	if ( !isset($wp_settings_fields) )
 		$wp_settings_fields = array();
 	if ( !isset($wp_settings_fields[$page]) )
Index: wp-admin/menu.php
===================================================================
--- wp-admin/menu.php	(revision 21663)
+++ wp-admin/menu.php	(working copy)
@@ -206,7 +206,6 @@
 	$submenu['options-general.php'][20] = array(__('Reading'), 'manage_options', 'options-reading.php');
 	$submenu['options-general.php'][25] = array(__('Discussion'), 'manage_options', 'options-discussion.php');
 	$submenu['options-general.php'][30] = array(__('Media'), 'manage_options', 'options-media.php');
-	$submenu['options-general.php'][35] = array(__('Privacy'), 'manage_options', 'options-privacy.php');
 	$submenu['options-general.php'][40] = array(__('Permalinks'), 'manage_options', 'options-permalink.php');
 
 $_wp_last_utility_menu = 80; // The index of the last top-level menu in the utility menu group
Index: wp-admin/options-general.php
===================================================================
--- wp-admin/options-general.php	(revision 21663)
+++ wp-admin/options-general.php	(working copy)
@@ -7,15 +7,15 @@
  */
 
 /** WordPress Administration Bootstrap */
-require_once('./admin.php');
+require_once( './admin.php' );
 
 if ( ! current_user_can( 'manage_options' ) )
 	wp_die( __( 'You do not have sufficient permissions to manage options for this site.' ) );
 
-$title = __('General Settings');
+$title = __( 'General Settings' );
 $parent_file = 'options-general.php';
 /* translators: date and time format for exact current time, mainly about timezones, see http://php.net/date */
-$timezone_format = _x('Y-m-d G:i:s', 'timezone date format');
+$timezone_format = _x( 'Y-m-d G:i:s', 'timezone date format' );
 
 /**
  * Display JavaScript on the page.
@@ -56,7 +56,7 @@
 </script>
 <?php
 }
-add_action('admin_head', 'add_js');
+add_action( 'admin_head', 'add_js' );
 
 $options_help = '<p>' . __('The fields on this screen determine some of the basics of your site setup.') . '</p>' .
 	'<p>' . __('Most themes display the site title at the top of every page, in the title bar of the browser, and as the identifying name for syndicated feeds. The tagline is also displayed by many themes.') . '</p>';
@@ -75,13 +75,20 @@
 	'content' => $options_help,
 ) );
 
+get_current_screen()->add_help_tab( array(
+	'id'      => 'site-visibility',
+	'title'   => __( 'Site Visibility' ),
+	'content' => '<p>' . __( 'You can choose whether or not your site will be crawled by robots, ping services, and spiders. If you want those services to ignore your site, click the radio button next to &#8220;Ask search engines not to index this site&#8221; and click the Save Changes button at the bottom of the screen. Note that your privacy is not complete; your site is still visible on the web.' ) . '</p>' .
+		'<p>' . __( 'When this setting is in effect a reminder is shown in the Right Now box of the Dashboard that says, &#8220;Search Engines Blocked,&#8221; to remind you that your site is not being crawled.' ) . '</p>',
+) );
+
 get_current_screen()->set_help_sidebar(
 	'<p><strong>' . __('For more information:') . '</strong></p>' .
 	'<p>' . __('<a href="http://codex.wordpress.org/Settings_General_Screen" target="_blank">Documentation on General Settings</a>') . '</p>' .
 	'<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
-include('./admin-header.php');
+include( './admin-header.php' );
 ?>
 
 <div class="wrap">
@@ -143,11 +150,50 @@
 <?php endif; ?>
 </td>
 </tr>
-<?php } ?>
+<?php }
+
+// Allow display of 'Site Visibility' to be halted/changed
+add_filter( 'display_site_visibility', 'display_site_visibility_content', 10, 2 );
+function display_site_visibility_content( $output = '', $display = true ) {
+	if ( ! $output && $display ):
+		$output .= '<input id="blog-public" type="radio" name="blog_public" value="1" ' . checked( '1', get_option( 'blog_public' ), false ) . ' />';
+		$output .= '<label for="blog-public">' . __( 'Allow search engines to index this site.' ) . '</label><br/>';
+		$output .= '<input id="blog-norobots" type="radio" name="blog_public" value="0" ' . checked( '0', get_option( 'blog_public' ), false ) . ' />';
+		$output .= '<label for="blog-norobots">' . __( 'Ask search engines not to index this site.' ) . '</label>';
+		$output .= '<p class="description">' . __( 'Note: Neither of these options blocks access to your site &mdash; it is up to search engines to honor your request.' ) . '</p>';
+		
+		return $output;
+	
+	elseif ( $display ):
+		return $output;
+	else:
+		return false;
+	endif;
+} ?>
+<tr valign="top">
+<th scope="row"><?php _e( 'Site Visibility' ); ?></th>
+<td><fieldset><legend class="screen-reader-text"><span><?php _e( 'Site Visibility' ); ?></span></legend>
+<?php
+// Output default privacy options, alternates, or cancel
+$output = apply_filters( 'display_site_visibility', '', true );
+echo ( $output ? $output : '' );
+
+// Output any added privacy options from plugins
+do_action( 'blog_privacy_selector' );
+?>
+</fieldset></td>
+</tr>
+
+<?php do_settings_fields( 'general', 'default' ); ?>
+</table>
+
+<h3><?php _e( 'Date and Time' ); ?></h3>
+
+<table class="form-table">
 <tr>
 <?php
-$current_offset = get_option('gmt_offset');
-$tzstring = get_option('timezone_string');
+$current_offset = get_option( 'gmt_offset' );
+$tzstring = get_option( 'timezone_string' );
 
 $check_zone_info = true;
 
@@ -300,7 +346,6 @@
 ?>
 </select></td>
 </tr>
-<?php do_settings_fields('general', 'default'); ?>
 <?php
 	$languages = get_available_languages();
 	if ( is_multisite() && !empty( $languages ) ):
Index: wp-admin/options-privacy.php
===================================================================
--- wp-admin/options-privacy.php	(revision 21663)
+++ wp-admin/options-privacy.php	(working copy)
@@ -1,63 +0,0 @@
-<?php
-/**
- * Privacy Options Settings Administration Screen.
- *
- * @package WordPress
- * @subpackage Administration
- */
-
-/** Load WordPress Administration Bootstrap */
-require_once('./admin.php');
-
-if ( ! current_user_can( 'manage_options' ) )
-	wp_die( __( 'You do not have sufficient permissions to manage options for this site.' ) );
-
-$title = __('Privacy Settings');
-$parent_file = 'options-general.php';
-
-get_current_screen()->add_help_tab( array(
-	'id'      => 'overview',
-	'title'   => __('Overview'),
-	'content' => '<p>' . __('You can choose whether or not your site will be crawled by robots, ping services, and spiders. If you want those services to ignore your site, click the radio button next to &#8220;Ask search engines not to index this site&#8221; and click the Save Changes button at the bottom of the screen. Note that your privacy is not complete; your site is still visible on the web.') . '</p>' .
-		'<p>' . __('When this setting is in effect a reminder is shown in the Right Now box of the Dashboard that says, &#8220;Search Engines Blocked,&#8221; to remind you that your site is not being crawled.') . '</p>',
-) );
-
-get_current_screen()->set_help_sidebar(
-	'<p><strong>' . __('For more information:') . '</strong></p>' .
-	'<p>' . __('<a href="http://codex.wordpress.org/Settings_Privacy_Screen" target="_blank">Documentation on Privacy Settings</a>') . '</p>' .
-	'<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
-);
-
-include('./admin-header.php');
-?>
-
-<div class="wrap">
-<?php screen_icon(); ?>
-<h2><?php echo esc_html( $title ); ?></h2>
-
-<form method="post" action="options.php">
-<?php settings_fields('privacy'); ?>
-
-<table class="form-table">
-<tr valign="top">
-<th scope="row"><?php _e( 'Site Visibility' ); ?> </th>
-<td><fieldset><legend class="screen-reader-text"><span><?php _e( 'Site Visibility' ); ?> </span></legend>
-<input id="blog-public" type="radio" name="blog_public" value="1" <?php checked('1', get_option('blog_public')); ?> />
-<label for="blog-public"><?php _e( 'Allow search engines to index this site.' );?></label><br/>
-<input id="blog-norobots" type="radio" name="blog_public" value="0" <?php checked('0', get_option('blog_public')); ?> />
-<label for="blog-norobots"><?php _e( 'Ask search engines not to index this site.' ); ?></label>
-<p class="description"><?php _e( 'Note: Neither of these options blocks access to your site &mdash; it is up to search engines to honor your request.' ); ?></p>
-<?php do_action('blog_privacy_selector'); ?>
-</fieldset></td>
-</tr>
-<?php do_settings_fields('privacy', 'default'); ?>
-</table>
-
-<?php do_settings_sections('privacy'); ?>
-
-<?php submit_button(); ?>
-</form>
-
-</div>
-
-<?php include('./admin-footer.php') ?>
Index: wp-admin/options.php
===================================================================
--- wp-admin/options.php	(revision 21663)
+++ wp-admin/options.php	(working copy)
@@ -59,13 +59,13 @@
 	wp_die(__('Cheatin&#8217; uh?'));
 
 $whitelist_options = array(
-	'general' => array( 'blogname', 'blogdescription', 'gmt_offset', 'date_format', 'time_format', 'start_of_week', 'timezone_string' ),
+	'general' => array( 'blogname', 'blogdescription', 'gmt_offset', 'date_format', 'time_format', 'start_of_week', 'timezone_string', 'blog_public' ),
 	'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' ),
 	'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', 'embed_autourls', 'embed_size_w', 'embed_size_h' ),
-	'privacy' => array( 'blog_public' ),
 	'reading' => array( 'posts_per_page', 'posts_per_rss', 'rss_use_excerpt', 'blog_charset', 'show_on_front', 'page_on_front', 'page_for_posts' ),
 	'writing' => array( 'default_post_edit_rows', 'use_smilies', 'default_category', 'default_email_category', 'use_balanceTags', 'default_link_category', 'default_post_format', 'enable_app', 'enable_xmlrpc' ),
-	'options' => array( '' ) );
+);
+$whitelist_options['misc'] = $whitelist_options['options'] = $whitelist_options['privacy'] = array();
 
 $mail_options = array('mailserver_url', 'mailserver_port', 'mailserver_login', 'mailserver_pass');
 $uploads_options = array('uploads_use_yearmonth_folders', 'upload_path', 'upload_url_path');
@@ -90,8 +90,6 @@
 
 	if ( apply_filters( 'enable_post_by_email_configuration', true ) )
 		$whitelist_options['writing'] = array_merge($whitelist_options['writing'], $mail_options);
-
-	$whitelist_options[ 'misc' ] = array();
 }
 
 $whitelist_options = apply_filters( 'whitelist_options', $whitelist_options );
