diff --git src/bp-activity/bp-activity-functions.php src/bp-activity/bp-activity-functions.php
index 6e5d93b..baa26ff 100644
--- src/bp-activity/bp-activity-functions.php
+++ src/bp-activity/bp-activity-functions.php
@@ -275,9 +275,11 @@ function bp_activity_get_userid_from_mentionname( $mentionname ) {
  * @param string $type The action type.
  * @param string $description The action description.
  * @param callable $format_callback Callback for formatting the action string.
+ * @param string $label the label of templates dropdowns.
+ * @param array $scopes to restrict types to.
  * @return bool False if any param is empty, otherwise true.
  */
-function bp_activity_set_action( $component_id, $type, $description, $format_callback = false ) {
+function bp_activity_set_action( $component_id, $type, $description, $format_callback = false, $label = false, $scopes = array() ) {
 	$bp = buddypress();
 
 	// Return false if any of the above values are not set
@@ -303,7 +305,9 @@ function bp_activity_set_action( $component_id, $type, $description, $format_cal
 		'key'             => $type,
 		'value'           => $description,
 		'format_callback' => $format_callback,
-	), $component_id, $type, $description, $format_callback );
+		'label'           => $label,
+		'scopes'          => $scopes,
+	), $component_id, $type, $description, $format_callback, $label, $scopes );
 
 	return true;
 }
@@ -835,14 +839,17 @@ function bp_activity_register_activity_actions() {
 		$bp->activity->id,
 		'activity_update',
 		__( 'Posted a status update', 'buddypress' ),
-		'bp_activity_format_activity_action_activity_update'
+		'bp_activity_format_activity_action_activity_update',
+		__( 'Updates', 'buddypress' ),
+		array( 'activity', 'groups', 'members')
 	);
 
 	bp_activity_set_action(
 		$bp->activity->id,
 		'activity_comment',
 		__( 'Replied to a status update', 'buddypress' ),
-		'bp_activity_format_activity_action_activity_comment'
+		'bp_activity_format_activity_action_activity_comment',
+		__( 'Update replies', 'buddypress' )
 	);
 
 	do_action( 'bp_activity_register_activity_actions' );
diff --git src/bp-activity/bp-activity-template.php src/bp-activity/bp-activity-template.php
index 1acafeb..f1132ce 100644
--- src/bp-activity/bp-activity-template.php
+++ src/bp-activity/bp-activity-template.php
@@ -3371,3 +3371,64 @@ function bp_activity_sitewide_feed() {
 <?php
 }
 add_action( 'bp_head', 'bp_activity_sitewide_feed' );
+
+/**
+ * Display available filters depending on the scope.
+ *
+ * @since BuddyPress (?)
+ *
+ * @param string $scope the scope (activity directory, group's home page, member's activity page)
+ * @uses bp_get_activity_show_filters()
+ */
+function bp_activity_show_filters( $scope = 'activity' ) {
+	echo bp_get_activity_show_filters( $scope );
+}
+	/**
+	 * Get available filters depending on the scope.
+	 *
+	 * @since BuddyPress (?)
+	 *
+	 * @param string $scope the scope (activity directory, group's home page, member's activity page)
+	 * @uses bp_get_activity_show_filters()
+	 */
+	function bp_get_activity_show_filters( $scope = 'activity' ) {
+		$filters  = array();
+
+		// Activity types to exclude on user's profile groups activity page  
+		$exclude = array( 'new_blog_post', 'new_blog_comment', 'friendship_accepted', 'friendship_created' );
+
+		// Walk through the registered actions, and prepare an the select box options.
+		foreach ( buddypress()->activity->actions as $action ) {
+			$labels = wp_list_pluck( (array) $action, 'label' );
+
+			foreach ( $labels as $key => $label ) {
+
+				if ( ! in_array( $scope, $action->{$key}['scopes'] ) )
+					continue;
+
+				if ( 'members' == $scope && bp_is_current_action( 'groups' ) && in_array( $key, $exclude ) )
+					continue;
+
+				// Specific case for friends activity
+				if ( in_array( $label, $filters ) ) {
+					$prev_key = array_search( $label, $filters );
+					unset( $filters[ $prev_key ] );
+					$filters[ $prev_key . ',' . $key ] = $label;
+				} else {
+					$filters[ $key ] = $label;
+				}
+
+			}
+		}
+
+		// Build the options output
+		$output = '';
+
+		if ( ! empty( $filters ) ) {
+			foreach ( $filters as $value => $filter ) {
+				$output .= '<option value="' . $value . '">' . $filter . '</option>' . "\n";
+			}
+		}
+
+		return apply_filters( 'bp_get_activity_show_filters', $output, $filters, $scope );
+	}
diff --git src/bp-blogs/bp-blogs-activity.php src/bp-blogs/bp-blogs-activity.php
index 70ea20a..b9cba07 100644
--- src/bp-blogs/bp-blogs-activity.php
+++ src/bp-blogs/bp-blogs-activity.php
@@ -32,7 +32,8 @@ function bp_blogs_register_activity_actions() {
 			$bp->blogs->id,
 			'new_blog',
 			__( 'New site created', 'buddypress' ),
-			'bp_blogs_format_activity_action_new_blog'
+			'bp_blogs_format_activity_action_new_blog',
+			__( 'Site creations', 'buddypress' )
 		);
 	}
 
@@ -40,14 +41,18 @@ function bp_blogs_register_activity_actions() {
 		$bp->blogs->id,
 		'new_blog_post',
 		__( 'New post published', 'buddypress' ),
-		'bp_blogs_format_activity_action_new_blog_post'
+		'bp_blogs_format_activity_action_new_blog_post',
+		__( 'Posts', 'buddypress' ),
+		array( 'activity', 'members' )
 	);
 
 	bp_activity_set_action(
 		$bp->blogs->id,
 		'new_blog_comment',
 		__( 'New post comment posted', 'buddypress' ),
-		'bp_blogs_format_activity_action_new_blog_comment'
+		'bp_blogs_format_activity_action_new_blog_comment',
+		__( 'Comments', 'buddypress' ),
+		array( 'activity', 'members' )
 	);
 
 	do_action( 'bp_blogs_register_activity_actions' );
diff --git src/bp-friends/bp-friends-activity.php src/bp-friends/bp-friends-activity.php
index 92ab0bf..ec64c8e 100644
--- src/bp-friends/bp-friends-activity.php
+++ src/bp-friends/bp-friends-activity.php
@@ -96,14 +96,18 @@ function friends_register_activity_actions() {
 		$bp->friends->id,
 		'friendship_accepted',
 		__( 'Friendships accepted', 'buddypress' ),
-		'bp_friends_format_activity_action_friendship_accepted'
+		'bp_friends_format_activity_action_friendship_accepted',
+		__( 'Friendships', 'buddypress' ),
+		array( 'activity', 'members' )
 	);
 
 	bp_activity_set_action(
 		$bp->friends->id,
 		'friendship_created',
 		__( 'New friendships', 'buddypress' ),
-		'bp_friends_format_activity_action_friendship_created'
+		'bp_friends_format_activity_action_friendship_created',
+		__( 'Friendships', 'buddypress' ),
+		array( 'activity', 'members' )
 	);
 
 	// < BP 1.6 backpat
diff --git src/bp-groups/bp-groups-activity.php src/bp-groups/bp-groups-activity.php
index b7f1b1b..88cb7db 100644
--- src/bp-groups/bp-groups-activity.php
+++ src/bp-groups/bp-groups-activity.php
@@ -27,22 +27,41 @@ function groups_register_activity_actions() {
 		$bp->groups->id,
 		'created_group',
 		__( 'Created a group', 'buddypress' ),
-		'bp_groups_format_activity_action_created_group'
+		'bp_groups_format_activity_action_created_group',
+		__( 'New Groups', 'buddypress' ),
+		array( 'activity', 'members' ) 
 	);
 
 	bp_activity_set_action(
 		$bp->groups->id,
 		'joined_group',
 		__( 'Joined a group', 'buddypress' ),
-		'bp_groups_format_activity_action_joined_group'
+		'bp_groups_format_activity_action_joined_group',
+		__( 'Group Memberships', 'buddypress' ),
+		array( 'activity', 'groups', 'members' ) 
 	);
 
 	// These actions are for the legacy forums
 	// Since the bbPress plugin also shares the same 'forums' identifier, we also
 	// check for the legacy forums loader class to be extra cautious
 	if ( bp_is_active( 'forums' ) && class_exists( 'BP_Forums_Component' ) ) {
-		bp_activity_set_action( $bp->groups->id, 'new_forum_topic', __( 'New group forum topic', 'buddypress' ) );
-		bp_activity_set_action( $bp->groups->id, 'new_forum_post',  __( 'New group forum post',  'buddypress' ) );
+		bp_activity_set_action( 
+			$bp->groups->id,
+			'new_forum_topic',
+			__( 'New group forum topic', 'buddypress' ),
+			false,
+			__( 'Forum Topics', 'buddypress' ),
+			array( 'activity', 'groups', 'members' )
+		);
+
+		bp_activity_set_action( 
+			$bp->groups->id,
+			'new_forum_post',
+			__( 'New group forum post',  'buddypress' ),
+			false, 
+			__( 'Forum Replies', 'buddypress' ),
+			array( 'activity', 'groups', 'members' )
+		);
 	}
 
 	do_action( 'groups_register_activity_actions' );
diff --git src/bp-templates/bp-legacy/buddypress/activity/index.php src/bp-templates/bp-legacy/buddypress/activity/index.php
index de21b63..f791cea 100644
--- src/bp-templates/bp-legacy/buddypress/activity/index.php
+++ src/bp-templates/bp-legacy/buddypress/activity/index.php
@@ -76,38 +76,10 @@
 				<label for="activity-filter-by"><?php _e( 'Show:', 'buddypress' ); ?></label>
 				<select id="activity-filter-by">
 					<option value="-1"><?php _e( 'Everything', 'buddypress' ); ?></option>
-					<option value="activity_update"><?php _e( 'Updates', 'buddypress' ); ?></option>
+					
+					<?php bp_activity_show_filters( 'activity' );
 
-					<?php if ( bp_is_active( 'blogs' ) ) : ?>
-
-						<option value="new_blog_post"><?php _e( 'Posts', 'buddypress' ); ?></option>
-						<option value="new_blog_comment"><?php _e( 'Comments', 'buddypress' ); ?></option>
-
-					<?php endif; ?>
-
-					<?php if ( bp_is_active( 'forums' ) ) : ?>
-
-						<option value="new_forum_topic"><?php _e( 'Forum Topics', 'buddypress' ); ?></option>
-						<option value="new_forum_post"><?php _e( 'Forum Replies', 'buddypress' ); ?></option>
-
-					<?php endif; ?>
-
-					<?php if ( bp_is_active( 'groups' ) ) : ?>
-
-						<option value="created_group"><?php _e( 'New Groups', 'buddypress' ); ?></option>
-						<option value="joined_group"><?php _e( 'Group Memberships', 'buddypress' ); ?></option>
-
-					<?php endif; ?>
-
-					<?php if ( bp_is_active( 'friends' ) ) : ?>
-
-						<option value="friendship_accepted,friendship_created"><?php _e( 'Friendships', 'buddypress' ); ?></option>
-
-					<?php endif; ?>
-
-					<option value="new_member"><?php _e( 'New Members', 'buddypress' ); ?></option>
-
-					<?php do_action( 'bp_activity_filter_options' ); ?>
+					do_action( 'bp_activity_filter_options' ); ?>
 
 				</select>
 			</li>
diff --git src/bp-templates/bp-legacy/buddypress/groups/single/activity.php src/bp-templates/bp-legacy/buddypress/groups/single/activity.php
index ff2c6d9..b5dad59 100644
--- src/bp-templates/bp-legacy/buddypress/groups/single/activity.php
+++ src/bp-templates/bp-legacy/buddypress/groups/single/activity.php
@@ -8,16 +8,10 @@
 			<label for="activity-filter-by"><?php _e( 'Show:', 'buddypress' ); ?></label> 
 			<select id="activity-filter-by">
 				<option value="-1"><?php _e( 'Everything', 'buddypress' ); ?></option>
-				<option value="activity_update"><?php _e( 'Updates', 'buddypress' ); ?></option>
+				
+				<?php bp_activity_show_filters( 'groups' );
 
-				<?php if ( bp_is_active( 'forums' ) ) : ?>
-					<option value="new_forum_topic"><?php _e( 'Forum Topics', 'buddypress' ); ?></option>
-					<option value="new_forum_post"><?php _e( 'Forum Replies', 'buddypress' ); ?></option>
-				<?php endif; ?>
-
-				<option value="joined_group"><?php _e( 'Group Memberships', 'buddypress' ); ?></option>
-
-				<?php do_action( 'bp_group_activity_filter_options' ); ?>
+				do_action( 'bp_group_activity_filter_options' ); ?>
 			</select>
 		</li>
 	</ul>
diff --git src/bp-templates/bp-legacy/buddypress/members/single/activity.php src/bp-templates/bp-legacy/buddypress/members/single/activity.php
index 06e9263..1d28066 100644
--- src/bp-templates/bp-legacy/buddypress/members/single/activity.php
+++ src/bp-templates/bp-legacy/buddypress/members/single/activity.php
@@ -18,39 +18,8 @@
 			<label for="activity-filter-by"><?php _e( 'Show:', 'buddypress' ); ?></label>
 			<select id="activity-filter-by">
 				<option value="-1"><?php _e( 'Everything', 'buddypress' ); ?></option>
-				<option value="activity_update"><?php _e( 'Updates', 'buddypress' ); ?></option>
 
-				<?php
-				if ( !bp_is_current_action( 'groups' ) ) :
-					if ( bp_is_active( 'blogs' ) ) : ?>
-
-						<option value="new_blog_post"><?php _e( 'Posts', 'buddypress' ); ?></option>
-						<option value="new_blog_comment"><?php _e( 'Comments', 'buddypress' ); ?></option>
-
-					<?php
-					endif;
-
-					if ( bp_is_active( 'friends' ) ) : ?>
-
-						<option value="friendship_accepted,friendship_created"><?php _e( 'Friendships', 'buddypress' ); ?></option>
-
-					<?php endif;
-
-				endif;
-
-				if ( bp_is_active( 'forums' ) ) : ?>
-
-					<option value="new_forum_topic"><?php _e( 'Forum Topics', 'buddypress' ); ?></option>
-					<option value="new_forum_post"><?php _e( 'Forum Replies', 'buddypress' ); ?></option>
-
-				<?php endif;
-
-				if ( bp_is_active( 'groups' ) ) : ?>
-
-					<option value="created_group"><?php _e( 'New Groups', 'buddypress' ); ?></option>
-					<option value="joined_group"><?php _e( 'Group Memberships', 'buddypress' ); ?></option>
-
-				<?php endif;
+				<?php bp_activity_show_filters( 'members' );
 
 				do_action( 'bp_member_activity_filter_options' ); ?>
 
diff --git src/bp-xprofile/bp-xprofile-activity.php src/bp-xprofile/bp-xprofile-activity.php
index 23b9dc2..f5d7f52 100644
--- src/bp-xprofile/bp-xprofile-activity.php
+++ src/bp-xprofile/bp-xprofile-activity.php
@@ -24,21 +24,26 @@ function xprofile_register_activity_actions() {
 
 		'new_avatar',
 		__( 'Member changed profile picture', 'buddypress' ),
-		'bp_xprofile_format_activity_action_new_avatar'
+		'bp_xprofile_format_activity_action_new_avatar',
+		__( 'Profile picture updates' )
 	);
 
 	bp_activity_set_action(
 		$bp->profile->id,
 		'new_member',
 		__( 'New member registered', 'buddypress' ),
-		'bp_xprofile_format_activity_action_new_member'
+		'bp_xprofile_format_activity_action_new_member',
+		__( 'New Members', 'buddypress' ),
+		array( 'activity' )
 	);
 
 	bp_activity_set_action(
 		$bp->profile->id,
 		'updated_profile',
 		__( 'Updated Profile', 'buddypress' ),
-		'bp_xprofile_format_activity_action_updated_profile'
+		'bp_xprofile_format_activity_action_updated_profile',
+		__( 'Profile Updates', 'buddypress' ),
+		array( 'activity' )
 	);
 
 	do_action( 'xprofile_register_activity_actions' );
@@ -309,6 +314,7 @@ add_action( 'xprofile_updated_profile', 'bp_xprofile_updated_profile_activity',
  * Add filters for xprofile activity types to Show dropdowns.
  *
  * @since BuddyPress (2.0.0)
+ * @todo Mark as deprecated
  */
 function xprofile_activity_filter_options() {
 	?>
@@ -317,4 +323,4 @@ function xprofile_activity_filter_options() {
 
 	<?php
 }
-add_action( 'bp_activity_filter_options', 'xprofile_activity_filter_options' );
+//add_action( 'bp_activity_filter_options', 'xprofile_activity_filter_options' );
