Index: bp-core/admin/bp-core-upgrade.php
===================================================================
--- bp-core/admin/bp-core-upgrade.php	(revision 3130)
+++ bp-core/admin/bp-core-upgrade.php	(working copy)
@@ -299,10 +299,18 @@
 	}
 
 	function step_pages() {
+		global $current_blog;
+
 		if ( !current_user_can( 'activate_plugins' ) )
 			return false;
 
-		$existing_pages = get_site_option( 'bp-pages' );
+		if ( defined( 'BP_ENABLE_MULTIBLOG' ) && is_multisite() )
+			$existing_pages = get_blog_option( $current_blog->blog_id, 'bp-pages' );
+		else if ( is_multisite() )
+			$existing_pages = get_blog_option( BP_ROOT_BLOG, 'bp-pages' );
+		else
+			$existing_pages = get_option( 'bp-pages' );
+
 		$disabled_components = apply_filters( 'bp_deactivated_components', get_site_option( 'bp-deactivated-components' ) );
 
 		/* Check for defined slugs */
@@ -693,12 +701,18 @@
 	}
 
 	function step_pages_save() {
+		global $current_blog;
+
 		if ( isset( $_POST['submit'] ) && isset( $_POST['bp_pages'] ) ) {
 			check_admin_referer( 'bpwizard_pages' );
 
-			/* Delete any existing pages */
-			$existing_pages = get_site_option( 'bp-pages' );
+			// Make sure that the pages are created on the BP_ROOT_BLOG, no matter which Dashboard the setup is being run on
+			if ( $current_blog->blog_id != BP_ROOT_BLOG && !defined( 'BP_ENABLE_MULTIBLOG' ) )
+				switch_to_blog( BP_ROOT_BLOG );
 
+			// Delete any existing pages
+			$existing_pages = get_option( 'bp-pages' );
+
 			foreach ( (array)$existing_pages as $page_id )
 				wp_delete_post( $page_id, true );
 
@@ -715,8 +729,12 @@
 					$bp_pages[$key] = wp_insert_post( array( 'post_title' => ucwords( $value ), 'post_status' => 'publish', 'post_type' => 'page' ) );
 				}
 			}
-			update_site_option( 'bp-pages', $bp_pages );
 
+			update_option( 'bp-pages', $bp_pages );
+
+			if ( $current_blog->blog_id != BP_ROOT_BLOG )
+				restore_current_blog();
+
 			return true;
 		}
 
Index: bp-core.php
===================================================================
--- bp-core.php	(revision 3130)
+++ bp-core.php	(working copy)
@@ -83,6 +83,7 @@
 
 	/* Set up the members id and active components entry */
 	$bp->members->id = 'members';
+
 	$bp->members->slug = $bp->pages->members->slug;
 	$bp->active_components[$bp->members->slug] = $bp->members->id;
 
@@ -191,14 +192,53 @@
 }
 add_action( 'bp_setup_globals', 'bp_core_define_slugs' );
 
-function bp_core_get_page_names() {
-	global $wpdb, $current_blog;
 
+/**
+ * bp_core_get_page_meta()
+ *
+ * Fetches BP pages from the meta table, depending on setup
+ *
+ * @package BuddyPress Core Core
+ * @global $current_blog
+ */
+function bp_core_get_page_meta() {
+	global $current_blog;
+
 	if ( defined( 'BP_ENABLE_MULTIBLOG' ) )
 		$page_ids = get_blog_option( $current_blog->blog_id, 'bp-pages' );
+	else if ( BP_ROOT_BLOG != $current_blog->blog_id )
+		$page_ids = get_blog_option( BP_ROOT_BLOG, 'bp-pages' );
 	else
-		$page_ids = get_blog_option( BP_ROOT_BLOG, 'bp-pages' );
+		$page_ids = get_option( 'bp-pages' );
 
+	return $page_ids;
+}
+
+/**
+ * bp_core_update_page_meta()
+ *
+ * Stores BP pages in the meta table, depending on setup
+ *
+ * @package BuddyPress Core Core
+ * @global $current_blog
+ */
+function bp_core_update_page_meta( $page_ids ) {
+	global $current_blog;
+
+	if ( defined( 'BP_ENABLE_MULTIBLOG' ) )
+		update_blog_option( $current_blog->blog_id, 'bp-pages', $page_ids );
+	else if ( BP_ROOT_BLOG != $current_blog->blog_id )
+		update_blog_option( BP_ROOT_BLOG, 'bp-pages', $page_ids );
+	else
+		update_option( 'bp-pages', $page_ids );
+}
+
+
+function bp_core_get_page_names() {
+	global $wpdb, $current_blog;
+
+	$page_ids = bp_core_get_page_meta();
+
 	if ( empty( $page_ids ) )
 		return false;
 
@@ -2046,10 +2086,12 @@
 	foreach ( (array)$bp->add_root as $slug )
 		$new_page_ids[$slug] = wp_insert_post( array( 'post_title' => ucwords( $slug ), 'post_status' => 'publish', 'post_type' => 'page' ) );
 
-	$page_ids = get_site_option( 'bp-pages' );
+	$page_ids = bp_core_get_page_meta();
+
 	$page_ids = (array) $page_ids;
 	$page_ids = array_merge( (array) $new_page_ids, (array) $page_ids );
-	update_site_option( 'bp-pages', $page_ids );
+
+	bp_core_update_page_meta( $page_ids );
 }
 
 function bp_core_is_root_component( $component_name ) {
