Index: bp-themes/bp-sn-framework/functions.php
===================================================================
--- bp-themes/bp-sn-framework/functions.php	(revision 1719)
+++ bp-themes/bp-sn-framework/functions.php	(working copy)
@@ -51,15 +51,36 @@
 
 /* Make sure the blog index page shows under /[HOME_BLOG_SLUG] if enabled */
 function bp_dtheme_show_home_blog() {
-	global $bp, $query_string;
-	
+	global $bp, $query_string, $paged;
+
 	if ( $bp->current_component == BP_HOME_BLOG_SLUG && ( !$bp->current_action || 'page' == $bp->current_action ) ) {
 		$query_string = preg_replace( '/pagename=' . BP_HOME_BLOG_SLUG . '/', '', $query_string );
-		query_posts($query_string);
-		
+
+		if ( 'page' == $bp->current_action) {
+			if ( !$bp->action_variables[0] || $bp->action_variables[1] || (int) $bp->action_variables[0] < 2 ) {
+				locate_template( array( '404.php' ), true );
+				die;
+			}
+			if ( $paged != (int) $bp->action_variables[0] )
+				$paged = (int) $bp->action_variables[0];
+			if ( $query_string ) $query_string .= '&';
+			$query_string .= 'paged=' . $paged;
+		}
+		query_posts( $query_string );
+
 		bp_core_load_template( 'index', true );
 	}
 }
 add_action( 'wp', 'bp_dtheme_show_home_blog', 2 );
 
+	function bp_dtheme_filter_home_query( $query ) {
+		global $bp;
+		if ( $bp->current_component != BP_HOME_BLOG_SLUG )
+			return $query;
+		remove_filter( 'posts_request', 'bp_dtheme_filter_home_query', 0 );
+		// nullify the initial query
+		return;
+	}
+	add_filter( 'posts_request', 'bp_dtheme_filter_home_query', 0 );
+
 ?>
\ No newline at end of file
