Index: src/bp-activity/bp-activity-screens.php
===================================================================
--- src/bp-activity/bp-activity-screens.php
+++ src/bp-activity/bp-activity-screens.php
@@ -385,7 +385,7 @@
 			'post_author'    => 0,
 			'post_date'      => 0,
 			'post_content'   => '',
-			'post_type'      => 'bp_activity',
+			'post_type'      => 'page',
 			'post_status'    => 'publish',
 			'is_page'        => true,
 			'comment_status' => 'closed'
@@ -438,7 +438,7 @@
 			'post_author'    => 0,
 			'post_date'      => 0,
 			'post_content'   => '',
-			'post_type'      => 'bp_activity',
+			'post_type'      => 'page',
 			'post_status'    => 'publish',
 			'is_page'        => true,
 			'comment_status' => 'closed'
Index: src/bp-blogs/bp-blogs-screens.php
===================================================================
--- src/bp-blogs/bp-blogs-screens.php
+++ src/bp-blogs/bp-blogs-screens.php
@@ -149,7 +149,7 @@
 			'post_author'    => 0,
 			'post_date'      => 0,
 			'post_content'   => '',
-			'post_type'      => 'bp_blogs',
+			'post_type'      => 'page',
 			'post_status'    => 'publish',
 			'is_page'        => true,
 			'comment_status' => 'closed'
@@ -212,7 +212,7 @@
 			'post_author'    => 0,
 			'post_date'      => 0,
 			'post_content'   => '',
-			'post_type'      => 'bp_group',
+			'post_type'      => 'page',
 			'post_status'    => 'publish',
 			'is_page'        => true,
 			'comment_status' => 'closed'
Index: src/bp-core/bp-core-template.php
===================================================================
--- src/bp-core/bp-core-template.php
+++ src/bp-core/bp-core-template.php
@@ -2458,6 +2458,67 @@
 	add_filter( 'body_class', 'bp_get_the_body_class', 10, 2 );
 
 /**
+ * Customizes the post CSS class according to BuddyPress content.
+ *
+ * Hooked to the 'post_class' filter.
+ *
+ * @since BuddyPress (2.1.0)
+ *
+ * @param array $wp_classes The post classes coming from WordPress.
+ * @return array
+ */
+function bp_get_the_post_class( $wp_classes = array() ) {
+	// don't do anything if we're not on a BP page
+	if ( ! is_buddypress() ) {
+		return $wp_classes;
+	}
+
+	$bp_classes = array();
+
+	if ( bp_is_user() || bp_is_single_activity() ) {
+		$bp_classes[] = 'bp_members';
+
+	} elseif ( bp_is_group() ) {
+		$bp_classes[] = 'bp_group';
+
+	} elseif ( bp_is_activity_component() ) {
+		$bp_classes[] = 'bp_activity';
+
+	} elseif ( bp_is_blogs_component() ) {
+		$bp_classes[] = 'bp_blogs';
+
+	} elseif ( bp_is_register_page() ) {
+		$bp_classes[] = 'bp_register';
+
+	} elseif ( bp_is_activation_page() ) {
+		$bp_classes[] = 'bp_activate';
+
+	} elseif ( bp_is_forums_component() && bp_is_directory() ) {
+		$bp_classes[] = 'bp_forum';
+	}
+
+	if ( empty( $bp_classes ) ) {
+		return $wp_classes;
+	}
+
+	// emulate post type css class
+	foreach ( $bp_classes as $bp_class ) {
+		$bp_classes[] = "type-{$bp_class}";
+	}
+
+	// removes the 'page' and 'type-page' post classes
+	// we need to remove these classes since they did not exist before we switched
+	// theme compat to use the 'page' post type
+	$page_key      = array_search( 'page',      $wp_classes );
+	$page_type_key = array_search( 'type-page', $wp_classes );
+	unset( $wp_classes[$page_key], $wp_classes[$page_type_key] );
+
+	// okay let's merge!
+	return array_unique( array_merge( $bp_classes, $wp_classes ) );
+}
+add_filter( 'post_class', 'bp_get_the_post_class' );
+
+/**
  * Sort BuddyPress nav menu items by their position property.
  *
  * This is an internal convenience function and it will probably be removed in
Index: src/bp-forums/bp-forums-screens.php
===================================================================
--- src/bp-forums/bp-forums-screens.php
+++ src/bp-forums/bp-forums-screens.php
@@ -216,7 +216,7 @@
 			'post_author'    => 0,
 			'post_date'      => 0,
 			'post_content'   => '',
-			'post_type'      => 'bp_forum',
+			'post_type'      => 'page',
 			'post_status'    => 'publish',
 			'is_page'        => true,
 			'comment_status' => 'closed'
Index: src/bp-groups/bp-groups-screens.php
===================================================================
--- src/bp-groups/bp-groups-screens.php
+++ src/bp-groups/bp-groups-screens.php
@@ -1071,7 +1071,7 @@
 			'post_author'    => 0,
 			'post_date'      => 0,
 			'post_content'   => '',
-			'post_type'      => 'bp_group',
+			'post_type'      => 'page',
 			'post_status'    => 'publish',
 			'is_page'        => true,
 			'comment_status' => 'closed'
@@ -1127,7 +1127,7 @@
 			'post_author'    => 0,
 			'post_date'      => 0,
 			'post_content'   => '',
-			'post_type'      => 'bp_group',
+			'post_type'      => 'page',
 			'post_status'    => 'publish',
 			'is_page'        => true,
 			'comment_status' => 'closed'
@@ -1187,7 +1187,7 @@
 			'post_author'    => 0,
 			'post_date'      => 0,
 			'post_content'   => '',
-			'post_type'      => 'bp_group',
+			'post_type'      => 'page',
 			'post_status'    => 'publish',
 			'is_page'        => true,
 			'comment_status' => 'closed'
Index: src/bp-members/bp-members-screens.php
===================================================================
--- src/bp-members/bp-members-screens.php
+++ src/bp-members/bp-members-screens.php
@@ -358,7 +358,7 @@
 			'post_author'    => 0,
 			'post_date'      => 0,
 			'post_content'   => '',
-			'post_type'      => 'bp_members',
+			'post_type'      => 'page',
 			'post_status'    => 'publish',
 			'is_page'        => true,
 			'comment_status' => 'closed'
@@ -420,7 +420,7 @@
 			'post_author'    => 0,
 			'post_date'      => 0,
 			'post_content'   => '',
-			'post_type'      => 'bp_members',
+			'post_type'      => 'page',
 			'post_status'    => 'publish',
 			'is_page'        => true,
 			'comment_status' => 'closed'
@@ -529,15 +529,13 @@
 			}
 		}
 
-		$post_type = bp_is_register_page() ? 'bp_register' : 'bp_activate';
-
 		bp_theme_compat_reset_post( array(
 			'ID'             => 0,
 			'post_title'     => $title,
 			'post_author'    => 0,
 			'post_date'      => 0,
 			'post_content'   => '',
-			'post_type'      => $post_type,
+			'post_type'      => 'page',
 			'post_status'    => 'publish',
 			'is_page'        => true,
 			'comment_status' => 'closed'
