Index: bp-xprofile/bp-xprofile-admin.php
===================================================================
--- bp-xprofile/bp-xprofile-admin.php	(revision 5260)
+++ bp-xprofile/bp-xprofile-admin.php	(working copy)
@@ -22,7 +22,7 @@
 	if ( !is_super_admin() )
 		return false;
 
-	$hook = add_submenu_page( 'bp-general-settings', __( 'Profile Fields', 'buddypress' ), __( 'Profile Fields', 'buddypress' ), 'manage_options', 'bp-profile-setup', 'xprofile_admin' );
+	$hook = add_users_page( __( 'Profile Fields', 'buddypress' ), __( 'Profile Fields', 'buddypress' ), 'manage_options', 'bp-profile-setup', 'xprofile_admin' );
 
 	add_action( "admin_print_styles-$hook", 'bp_core_add_admin_menu_styles' );
 }
@@ -71,7 +71,7 @@
 
 		<h2>
 
-			<?php _e( 'Extended Profile Fields', 'buddypress'); ?>
+			<?php _e( 'Profile Fields', 'buddypress'); ?>
 
 			<a id="add_group" class="button add-new-h2" href="admin.php?page=bp-profile-setup&amp;mode=add_group"><?php _e( 'Add New Group', 'buddypress' ); ?></a>
 		</h2>
Index: bp-core/bp-core-functions.php
===================================================================
--- bp-core/bp-core-functions.php	(revision 5260)
+++ bp-core/bp-core-functions.php	(working copy)
@@ -230,12 +230,53 @@
 add_action( 'bp_init', 'bp_core_admin_menu_init' );
 
 /**
+ * In BP 1.6, the top-level admin menu was removed. This change could break old
+ * third-party plugins, so this function keeps the top-level menu if a plugin
+ * has registered a menu into the old 'bp-general-settings' menu.
+ *
+ * The old "bp-general-settings" page was renamed "bp-general-config".
+ *
+ * @global array $_parent_pages
+ * @global array $_registered_pages
+ * @global array $submenu
+ * @since 1.6
+ */
+function bp_core_admin_backpat_menu() {
+	global $_registered_pages, $_parent_pages, $submenu;
+
+	if ( !is_super_admin() )
+		return;
+
+	// Don't do anything if a BP upgrade is in progress, or if the bp-wizard is in progress.
+	if ( defined( 'BP_IS_UPGRADE' ) && BP_IS_UPGRADE || empty( $submenu['bp-general-settings'] ) )
+		return;
+
+	/**
+	 * If only the default backpat item is present, then don't show the top-level BuddyPress menu.
+	 * This means that no third-party plugins have registered their admin pages into the
+	 * 'bp-general-settings' menu.
+	 */
+	if ( 1 == count( $submenu['bp-general-settings'] ) ) {
+		// This removes the top-level menu
+		remove_submenu_page( 'bp-general-settings', 'bp-general-settings' );
+		remove_menu_page( 'bp-general-settings' );
+
+		// These stop people accessing the URL directly
+		if ( isset( $_parent_pages['bp-general-settings'] ) )
+			unset( $_parent_pages['bp-general-settings'] );
+
+		if ( isset( $_registered_pages['toplevel_page_bp-general-settings'] ) )
+			unset( $_registered_pages['toplevel_page_bp-general-settings'] );
+	}
+}
+add_action( bp_core_admin_hook(), 'bp_core_admin_backpat_menu', 99999 );
+
+/**
  * Adds the "BuddyPress" admin submenu item to the Site Admin tab.
  *
  * @package BuddyPress Core
  * @global object $bp Global BuddyPress settings object
  * @uses is_super_admin() returns true if the current user is a site admin, false if not
- * @uses add_submenu_page() WP function to add a submenu item
  */
 function bp_core_add_admin_menu() {
 	if ( !is_super_admin() )
@@ -248,12 +289,15 @@
 
 	$hooks = array();
 
-	// Add the administration tab under the "Site Admin" tab for site administrators
-	$hooks[] = add_menu_page( __( 'BuddyPress', 'buddypress' ), __( 'BuddyPress', 'buddypress' ), 'manage_options', 'bp-general-settings', 'bp_core_admin_component_setup', '' );
-	$hooks[] = add_submenu_page( 'bp-general-settings', __( 'Components', 'buddypress' ), __( 'Components', 'buddypress' ), 'manage_options', 'bp-general-settings', 'bp_core_admin_component_setup'  );
-	$hooks[] = add_submenu_page( 'bp-general-settings', __( 'Pages',      'buddypress' ), __( 'Pages',      'buddypress' ), 'manage_options', 'bp-page-settings',    'bp_core_admin_page_setup'       );
-	$hooks[] = add_submenu_page( 'bp-general-settings', __( 'Settings',   'buddypress' ), __( 'Settings',   'buddypress' ), 'manage_options', 'bp-settings',         'bp_core_admin_settings'         );
+	// Changed in BP 1.6 . See bp_core_admin_backpat_menu()
+	$hooks[] = add_menu_page( __( 'BuddyPress', 'buddypress' ), __( 'BuddyPress', 'buddypress' ), 'manage_options', 'bp-general-settings', 'bp_core_admin_backpat_menu', '' );
+	$hooks[] = add_submenu_page( 'bp-general-settings', __( 'BuddyPress Help', 'buddypress' ), __( 'Help', 'buddypress' ), 'manage_options', 'bp-general-settings', 'bp_core_admin_backpat_page'  );
 
+	// Add the option pages
+	$hooks[] = add_options_page( __( 'BP Components', 'buddypress' ), __( 'BP Components', 'buddypress' ), 'manage_options', 'bp-general-config',   'bp_core_admin_component_setup'  );
+	$hooks[] = add_options_page( __( 'BP Pages',      'buddypress' ), __( 'BP Pages',      'buddypress' ), 'manage_options', 'bp-page-settings',    'bp_core_admin_page_setup'       );
+	$hooks[] = add_options_page( __( 'BP Settings',   'buddypress' ), __( 'BP Settings',   'buddypress' ), 'manage_options', 'bp-settings',         'bp_core_admin_settings'         );
+
 	// Add a hook for css/js
 	foreach( $hooks as $hook )
 		add_action( "admin_print_styles-$hook", 'bp_core_add_admin_menu_styles' );
Index: bp-core/admin/bp-core-admin.php
===================================================================
--- bp-core/admin/bp-core-admin.php	(revision 5260)
+++ bp-core/admin/bp-core-admin.php	(working copy)
@@ -28,7 +28,7 @@
 	// Setup core admin tabs
 	$tabs = array(
 		'0' => array(
-			'href' => bp_get_admin_url( add_query_arg( array( 'page' => 'bp-general-settings' ), 'admin.php' ) ),
+			'href' => bp_get_admin_url( add_query_arg( array( 'page' => 'bp-general-config' ), 'admin.php' ) ),
 			'name' => __( 'Components', 'buddypress' )
 		),
 		'1' => array(
@@ -64,6 +64,34 @@
 }
 
 /**
+ * Generates markup for a fallback top-level BuddyPress menu page, if the site is running
+ * a legacy plugin which hasn't been updated. If the site is up to date, this page
+ * will never appear.
+ *
+ * @see bp_core_admin_backpat_menu()
+ * @since 1.6
+ * @todo Add convenience links into the markup once new positions are finalised.
+ */
+function bp_core_admin_backpat_page() {
+?>
+	<div class="wrap">
+		<h2><?php _e( 'Why have all my BuddyPress menus disappeared?', 'buddypress' ); ?></h2>
+
+		<p><?php _e( "Don't worry! We've moved the BuddyPress options into more appropriate locations in the admin menu. You're seeing this page because you are running a legacy BuddyPress plugin which has not been updated.", 'buddypress' ); ?></p>
+		<p>TODO: Add convenience links into the markup once new positions are finalised.</p>
+
+		<!--
+		<p><?php printf( __( 'To create or edit user profile fields, go to: <a href="">Components</a>', 'buddypress' ), '#' ); ?></p>
+		<p><?php printf( __( 'To create or edit user profile fields, go to: <a href="">Pages</a>', 'buddypress' ), '#' ); ?></p>
+		<p><?php printf( __( 'To create or edit user profile fields, go to: <a href="">Settings</a>', 'buddypress' ), '#' ); ?></p>
+		<p><?php printf( __( 'To create or edit user profile fields, go to: <a href="">Forums</a>', 'buddypress' ), '#' ); ?></p>
+		<p><?php printf( __( 'To create or edit user profile fields, go to: <a href="">Profile Fields</a>', 'buddypress' ), '#' ); ?></p>
+		-->
+	</div>
+<?php
+}
+
+/**
  * Renders the Settings admin panel.
  *
  * @package BuddyPress Core
@@ -217,7 +245,7 @@
 			bp_update_option( 'bp-active-components', $bp->active_components );
 		}
 
-		$base_url = bp_get_admin_url(  add_query_arg( array( 'page' => 'bp-general-settings', 'updated' => 'true' ), 'admin.php' ) );
+		$base_url = bp_get_admin_url(  add_query_arg( array( 'page' => 'bp-general-config', 'updated' => 'true' ), 'admin.php' ) );
 
 		wp_redirect( $base_url );
 	}
Index: bp-core/admin/bp-core-update.php
===================================================================
--- bp-core/admin/bp-core-update.php	(revision 5260)
+++ bp-core/admin/bp-core-update.php	(working copy)
@@ -166,7 +166,7 @@
 				do_action( 'bp_admin_notices' );
 
 				$step_count  = count( $this->steps ) - 1;
-				$wiz_or_set  = $this->current_step >= $step_count ? 'bp-general-settings' : 'bp-wizard';
+				$wiz_or_set  = $this->current_step >= $step_count ? 'bp-general-config' : 'bp-wizard';
 				$form_action = bp_core_update_do_network_admin() ? network_admin_url( add_query_arg( array( 'page' => $wiz_or_set ), 'admin.php' ) ) : admin_url( add_query_arg( array( 'page' => $wiz_or_set ), 'admin.php' ) );
 			?>
 
@@ -1104,7 +1104,7 @@
 			bp_core_add_admin_menu();
 
 			// Redirect to the BuddyPress dashboard
-			$redirect = bp_core_update_do_network_admin() ? add_query_arg( array( 'page' => 'bp-general-settings' ), network_admin_url( 'admin.php' ) ) : add_query_arg( array( 'page' => 'bp-general-settings' ), admin_url( 'admin.php' ) );
+			$redirect = bp_core_update_do_network_admin() ? add_query_arg( array( 'page' => 'bp-general-config' ), network_admin_url( 'admin.php' ) ) : add_query_arg( array( 'page' => 'bp-general-config' ), admin_url( 'admin.php' ) );
 
 			wp_redirect( $redirect );
 
@@ -1325,10 +1325,10 @@
 		}
 
 		/* Settings Icon */
-		ul#adminmenu li.toplevel_page_bp-general-settings .wp-menu-image a img { display: none; }
-		ul#adminmenu li.toplevel_page_bp-general-settings .wp-menu-image a { background-image: url( <?php echo plugins_url( 'buddypress/bp-core/images/admin_menu_icon.png' ) ?> ) !important; background-position: -1px -32px; }
-		ul#adminmenu li.toplevel_page_bp-general-settings:hover .wp-menu-image a,
-		ul#adminmenu li.toplevel_page_bp-general-settings.wp-has-current-submenu .wp-menu-image a {
+		ul#adminmenu li.toplevel_page_bp-general-config .wp-menu-image a img { display: none; }
+		ul#adminmenu li.toplevel_page_bp-general-config .wp-menu-image a { background-image: url( <?php echo plugins_url( 'buddypress/bp-core/images/admin_menu_icon.png' ) ?> ) !important; background-position: -1px -32px; }
+		ul#adminmenu li.toplevel_page_bp-general-config:hover .wp-menu-image a,
+		ul#adminmenu li.toplevel_page_bp-general-config.wp-has-current-submenu .wp-menu-image a {
 			background-position: -1px 0;
 		}
 	</style>
Index: bp-core/bp-core-cssjs.php
===================================================================
--- bp-core/bp-core-cssjs.php	(revision 5260)
+++ bp-core/bp-core-cssjs.php	(working copy)
@@ -22,9 +22,19 @@
 		}
 
 		/* Settings Icon */
-		ul#adminmenu li.toplevel_page_bp-general-settings .wp-menu-image a img { display: none; }
-		ul#adminmenu li.toplevel_page_bp-general-settings .wp-menu-image a { background-image: url( <?php echo plugins_url( 'buddypress/bp-core/images/admin_menu_icon.png' ) ?> ) !important; background-position: -1px -32px; }
+		ul#adminmenu li.toplevel_page_bp-general-config .wp-menu-image a img,
+		ul#adminmenu li.toplevel_page_bp-general-settings .wp-menu-image a img {
+			display: none;
+		}
+
+		ul#adminmenu li.toplevel_page_bp-general-config .wp-menu-image a,
+		ul#adminmenu li.toplevel_page_bp-general-settings .wp-menu-image a {
+			background-image: url( <?php echo plugins_url( 'buddypress/bp-core/images/admin_menu_icon.png' ) ?> ) !important; background-position: -1px -32px;
+		}
+
+		ul#adminmenu li.toplevel_page_bp-general-config:hover .wp-menu-image a,
 		ul#adminmenu li.toplevel_page_bp-general-settings:hover .wp-menu-image a,
+		ul#adminmenu li.toplevel_page_bp-general-config.wp-has-current-submenu .wp-menu-image a,
 		ul#adminmenu li.toplevel_page_bp-general-settings.wp-has-current-submenu .wp-menu-image a {
 			background-position: -1px 0;
 		}
Index: bp-forums/bp-forums-admin.php
===================================================================
--- bp-forums/bp-forums-admin.php	(revision 5260)
+++ bp-forums/bp-forums-admin.php	(working copy)
@@ -9,7 +9,7 @@
 		return false;
 
 	// Add the administration tab under the "Site Admin" tab for site administrators
-	$hook = add_submenu_page( 'bp-general-settings', __( 'Forums', 'buddypress' ), __( 'Forums', 'buddypress' ), 'manage_options', 'bb-forums-setup', "bp_forums_bbpress_admin" );
+	$hook = add_options_page( __( 'BP Forums', 'buddypress' ), __( 'BP Forums', 'buddypress' ), 'manage_options', 'bb-forums-setup', "bp_forums_bbpress_admin" );
 	add_action( "admin_print_styles-$hook", 'bp_core_add_admin_menu_styles' );
 }
 add_action( bp_core_admin_hook(), 'bp_forums_add_admin_menu' );
