diff --git src/bp-activity/bp-activity-functions.php src/bp-activity/bp-activity-functions.php
index b7c303ae0..95df7d6d9 100644
--- src/bp-activity/bp-activity-functions.php
+++ src/bp-activity/bp-activity-functions.php
@@ -4492,26 +4492,7 @@ function bp_activity_personal_data_exporter( $email_address, $page ) {
  *                        'sitewide', 'personal', 'friends', 'mygroups', 'mentions', 'favorites'.
  */
 function bp_activity_is_feed_enable( $feed_id = '' ) {
-	if ( bp_current_user_can( 'bp_view', array( 'bp_component' => 'activity' ) ) ) {
-		// @TODO: Should we map the feeds to a component, like
-		// $component = 'activity';
-		// switch ( $feed_id ) {
-		// 	case 'mygroups':
-		// 		$component = 'groups';
-		// 		break;
-		// 	case 'personal':
-		// 	case 'friends':
-		// 	case 'mentions':
-		// 	case 'favorites':
-		// 	default:
-		// 		$component = 'members';
-		// 		break;
-		// }
-		// $retval = bp_current_user_can( 'bp_view', array( 'bp_component' => $component ) );
-		$retval = true;
-	} else {
-		$retval = false;
-	}
+	$retval = (bool) bp_current_user_can( 'bp_view', array( 'bp_component' => 'activity' ) );
 
 	/**
 	 * Filters if BuddyPress should consider feeds enabled. If disabled, it will return early.
diff --git src/bp-core/admin/bp-core-admin-settings.php src/bp-core/admin/bp-core-admin-settings.php
index dd3727ac9..70ee5d8ae 100644
--- src/bp-core/admin/bp-core-admin-settings.php
+++ src/bp-core/admin/bp-core-admin-settings.php
@@ -48,10 +48,9 @@ function bp_admin_setting_callback_account_deletion() {
 }
 
 /**
- * Enable private site functionality.
+ * Choose whether the community is visible to anyone or only to members.
  *
  * @since 12.0.0
- *
  */
 function bp_admin_setting_callback_community_visibility() {
 	$visibility = bp_get_community_visibility( 'all' );
diff --git src/bp-core/bp-core-functions.php src/bp-core/bp-core-functions.php
index 2ca510bda..8ceb5eb1f 100644
--- src/bp-core/bp-core-functions.php
+++ src/bp-core/bp-core-functions.php
@@ -4984,8 +4984,12 @@ function bp_get_component_navigations( $component = '' ) {
  * @return arrary|string $retval The calculated visbility settings for the site.
  */
 function bp_get_community_visibility( $component = 'global' ) {
-	$retval      = 'anyone';
-	$saved_value = (array) get_option( '_bp_community_visibility', array() );
+	$retval = 'anyone';
+	if ( 'rewrites' !== bp_core_get_query_parser() ) {
+		return $retval;
+	}
+
+	$saved_value = (array) bp_get_option( '_bp_community_visibility', array() );
 
 	// If the global value has not been set, we assume that the site is open.
 	if ( ! isset( $saved_value['global'] ) ) {
diff --git src/bp-core/bp-core-options.php src/bp-core/bp-core-options.php
index c845baa9f..c0ec714dd 100644
--- src/bp-core/bp-core-options.php
+++ src/bp-core/bp-core-options.php
@@ -74,6 +74,9 @@ function bp_get_default_options() {
 		// Email unsubscribe salt.
 		'bp-emails-unsubscribe-salt'           => '',
 
+		// Community visibility.
+		'_bp_community_visibility'             => array( 'global' => 'anyone' ),
+
 		/* Groups ************************************************************/
 
 		// @todo Move this into the groups component
diff --git src/bp-core/bp-core-update.php src/bp-core/bp-core-update.php
index 03d012ab1..72244867a 100644
--- src/bp-core/bp-core-update.php
+++ src/bp-core/bp-core-update.php
@@ -860,23 +860,26 @@ function bp_update_to_12_0() {
 			}
 		}
 
-		/* Widgets **************************************************/
-		$widget_options = array(
-			'widget_bp_core_login_widget',
-			'widget_bp_core_members_widget',
-			'widget_bp_core_whos_online_widget',
-			'widget_bp_core_recently_active_widget',
-			'widget_bp_groups_widget',
-			'widget_bp_messages_sitewide_notices_widget',
-		);
-
-		foreach ( $widget_options as $widget_option ) {
-			bp_delete_option( $widget_option );
-		}
-
 		// Finally make sure to rebuilt permalinks at next page load.
 		bp_delete_rewrite_rules();
 	}
+
+	// Widgets.
+	$widget_options = array(
+		'widget_bp_core_login_widget',
+		'widget_bp_core_members_widget',
+		'widget_bp_core_whos_online_widget',
+		'widget_bp_core_recently_active_widget',
+		'widget_bp_groups_widget',
+		'widget_bp_messages_sitewide_notices_widget',
+	);
+
+	foreach ( $widget_options as $widget_option ) {
+		bp_delete_option( $widget_option );
+	}
+
+	// Community visibility.
+	bp_update_option( '_bp_community_visibility', array( 'global' => 'anyone' ) );
 }
 
 /**
diff --git src/bp-core/classes/class-bp-admin.php src/bp-core/classes/class-bp-admin.php
index ebb273415..2e8dd61f5 100644
--- src/bp-core/classes/class-bp-admin.php
+++ src/bp-core/classes/class-bp-admin.php
@@ -477,8 +477,10 @@ class BP_Admin {
 		register_setting( 'buddypress', 'bp-disable-account-deletion', 'intval' );
 
 		// Community Visibility
-		add_settings_field( '_bp_community_visibility', __( 'Community Visibility', 'buddypress' ), 'bp_admin_setting_callback_community_visibility', 'buddypress', 'bp_main' );
-		register_setting( 'buddypress', '_bp_community_visibility', 'bp_admin_sanitize_callback_community_visibility' );
+		if ( 'rewrites' === bp_core_get_query_parser() ) {
+			add_settings_field( '_bp_community_visibility', __( 'Community Visibility', 'buddypress' ), 'bp_admin_setting_callback_community_visibility', 'buddypress', 'bp_main' );
+			register_setting( 'buddypress', '_bp_community_visibility', 'bp_admin_sanitize_callback_community_visibility' );
+		}
 
 		// Template pack picker.
 		add_settings_field( '_bp_theme_package_id', __( 'Template Pack', 'buddypress' ), 'bp_admin_setting_callback_theme_package_id', 'buddypress', 'bp_main', array( 'label_for' => '_bp_theme_package_id' ) );
diff --git src/bp-core/classes/class-bp-component.php src/bp-core/classes/class-bp-component.php
index 585e7b076..f73b5b17d 100644
--- src/bp-core/classes/class-bp-component.php
+++ src/bp-core/classes/class-bp-component.php
@@ -1325,8 +1325,7 @@ class BP_Component {
 				$query->post_count    = 1;
 				$query->is_home       = false;
 				$query->is_front_page = false;
-				$query->is_page       = false;
-				$query->is_single     = true;
+				$query->is_page       = true;
 				$query->is_archive    = false;
 				$query->is_tax        = false;
 
