--- /bp-activity/bp-activity-classes.php	Sat Mar 05 19:13:59 2011
+++ /bp-activity/bp-activity-classes.php	Sat Mar 05 19:20:15 2011
@@ -457,7 +457,7 @@
 
 		// array of prepared integers or quoted strings
 		$items_prepared = array();
-		
+
 		// clean up and format each item
 		foreach ( $items_dirty as $item ) {
 			// clean up the string
@@ -537,6 +537,12 @@
 		global $wpdb, $bp;
 
 		return $wpdb->get_var( $wpdb->prepare( "UPDATE {$bp->activity->table_name} SET hide_sitewide = 1 WHERE user_id = %d", $user_id ) );
+	}
+
+	function show_all_for_user( $user_id ) {
+		global $wpdb, $bp;
+
+		return $wpdb->get_var( $wpdb->prepare( "UPDATE {$bp->activity->table_name} SET hide_sitewide = 0 WHERE user_id = %d", $user_id ) );
 	}
 }
 
--- /bp-activity/bp-activity-functions.php	Sat Mar 05 19:14:22 2011
+++ /bp-activity/bp-activity-functions.php	Sat Mar 05 19:19:57 2011
@@ -856,6 +856,10 @@
 	return BP_Activity_Activity::hide_all_for_user( $user_id );
 }
 
+function bp_activity_show_user_activity( $user_id ) {
+	return BP_Activity_Activity::show_all_for_user( $user_id );
+}
+
 /**
  * bp_activity_thumbnail_content_images()
  *
--- /bp-members/bp-members-actions.php	Sat Mar 05 19:13:26 2011
+++ /bp-members/bp-members-actions.php	Sat Mar 05 19:20:08 2011
@@ -70,9 +70,13 @@
 		else
 			bp_core_add_message( __( 'User removed as spammer.', 'buddypress' ) );
 
-		// Hide this user's activity
-		if ( $is_spam && function_exists( 'bp_activity_hide_user_activity' ) )
-			bp_activity_hide_user_activity( $bp->displayed_user->id );
+		// Toggle visibility of activity items depending on spam status
+		if ( bp_is_active( 'activity' ) ) {
+			if ( $is_spam )
+				bp_activity_hide_user_activity( $bp->displayed_user->id );
+			else
+				bp_activity_show_user_activity( $bp->displayed_user->id );
+		}
 
 		// We need a special hook for is_spam so that components can
 		// delete data at spam time
