diff --git src/bp-core/bp-core-functions.php src/bp-core/bp-core-functions.php
index d4e0877..03b787b 100644
--- src/bp-core/bp-core-functions.php
+++ src/bp-core/bp-core-functions.php
@@ -376,6 +376,7 @@ function bp_core_get_packaged_component_ids() {
  */
 function bp_core_get_directory_page_ids() {
 	$page_ids = bp_get_option( 'bp-pages' );
+	$register_pages = array_fill_keys( array( 'register', 'activate' ) , bp_get_signup_allowed() );
 
 	// Ensure that empty indexes are unset. Should only matter in edge cases
 	if ( !empty( $page_ids ) && is_array( $page_ids ) ) {
@@ -384,6 +385,10 @@ function bp_core_get_directory_page_ids() {
 				unset( $page_ids[ $component_name ] );
 			}
 
+			if ( isset( $register_pages[ $component_name ] ) ) {
+				continue;
+			}
+
 			if ( ! bp_is_active( $component_name ) || 'trash' == get_post_status( $page_id ) ) {
 				unset( $page_ids[ $component_name ] );
 			}
@@ -2057,4 +2062,4 @@ function bp_core_get_suggestions( $args ) {
 	}
 
 	return apply_filters( 'bp_core_get_suggestions', $retval, $args );
-}
\ No newline at end of file
+}
