Index: bp-core/bp-core-catchuri.php
===================================================================
--- bp-core/bp-core-catchuri.php	(revision 3487)
+++ bp-core/bp-core-catchuri.php	(working copy)
@@ -132,7 +132,11 @@
 
 		unset( $uri_chunks );
 	}
-
+	
+	// Search doesn't have an associated page, so we check is separately
+	if ( in_array( BP_SEARCH_SLUG, $bp_uri ) )
+		$matches[] = 1;
+		
 	// This is not a BuddyPress page, so just return.
 	if ( !isset( $matches ) )
 		return false;
Index: bp-core.php
===================================================================
--- bp-core.php	(revision 3487)
+++ bp-core.php	(working copy)
@@ -22,6 +22,10 @@
 if ( !defined( 'CUSTOM_USER_META_TABLE' ) )
 	define( 'CUSTOM_USER_META_TABLE', $wpdb->base_prefix . 'usermeta' );
 
+// The search slug has to be defined nice and early because of the way search requests are loaded
+if ( !defined( 'BP_SEARCH_SLUG' ) )
+        define( 'BP_SEARCH_SLUG', 'search' );
+
 /* Load the files containing functions that we globally will need. */
 require ( BP_PLUGIN_DIR . '/bp-core/bp-core-catchuri.php' );
 require ( BP_PLUGIN_DIR . '/bp-core/bp-core-classes.php' );
@@ -202,9 +206,6 @@
 
 	if ( !defined( 'BP_ACTIVATION_SLUG' ) )
 		define( 'BP_ACTIVATION_SLUG', $bp->pages->activate->slug );
-
-	if ( !defined( 'BP_SEARCH_SLUG' ) )
-		define( 'BP_SEARCH_SLUG', 'search' );
 }
 add_action( 'bp_setup_globals', 'bp_core_define_slugs' );
 
