Index: trunk/src/includes/common/functions.php
===================================================================
--- trunk/src/includes/common/functions.php	(revision 6227)
+++ trunk/src/includes/common/functions.php	(revision 6264)
@@ -1151,4 +1151,27 @@
 	$reply_author_name = bbp_get_reply_author_display_name( $reply_id );
 
+	/** Users *****************************************************************/
+
+	// Get topic subscribers and bail if empty
+	$user_ids = bbp_get_topic_subscribers( $topic_id, true );
+
+	// Dedicated filter to manipulate user ID's to send emails to
+	$user_ids = (array) apply_filters( 'bbp_topic_subscription_user_ids', $user_ids );
+	$user_ids = array_filter( array_map( 'intval', $user_ids ) );
+	if ( empty( $user_ids ) ) {
+		return false;
+	}
+
+	// Remove the reply author from the list.
+	$reply_author_key = array_search( (int) $reply_author, $user_ids, true );
+	if ( false !== $reply_author_key ) {
+		unset( $user_ids[ $reply_author_key ] );
+	}
+
+	// Bail of the reply author was the only one subscribed.
+	if ( empty( $user_ids ) ) {
+		return false;
+	}
+
 	/** Mail ******************************************************************/
 
@@ -1193,5 +1216,5 @@
 	}
 
-	/** Users *****************************************************************/
+	/** Headers ***************************************************************/
 
 	// Get the noreply@ address
@@ -1204,22 +1227,6 @@
 	$headers = array( 'From: ' . get_bloginfo( 'name' ) . ' <' . $from_email . '>' );
 
-	// Get topic subscribers and bail if empty
-	$user_ids = bbp_get_topic_subscribers( $topic_id, true );
-
-	// Dedicated filter to manipulate user ID's to send emails to
-	$user_ids = apply_filters( 'bbp_topic_subscription_user_ids', $user_ids );
-	if ( empty( $user_ids ) ) {
-		return false;
-	}
-
 	// Loop through users
 	foreach ( (array) $user_ids as $user_id ) {
-
-		// Don't send notifications to the person who made the post
-		if ( ! empty( $reply_author ) && (int) $user_id === (int) $reply_author ) {
-			continue;
-		}
-
-		// Get email address of subscribed user
 		$headers[] = 'Bcc: ' . get_userdata( $user_id )->user_email;
 	}
@@ -1308,4 +1315,27 @@
 	$topic_author_name = bbp_get_topic_author_display_name( $topic_id );
 
+	/** Users *****************************************************************/
+
+	// Get topic subscribers and bail if empty
+	$user_ids = bbp_get_forum_subscribers( $forum_id, true );
+
+	// Dedicated filter to manipulate user ID's to send emails to
+	$user_ids = (array) apply_filters( 'bbp_forum_subscription_user_ids', $user_ids );
+	$user_ids = array_filter( array_map( 'intval', $user_ids ) );
+	if ( empty( $user_ids ) ) {
+		return false;
+	}
+
+	// Remove the topic author from the list.
+	$topic_author_key = array_search( (int) $topic_author, $user_ids, true );
+	if ( false !== $topic_author_key ) {
+		unset( $user_ids[ $topic_author_key ] );
+	}
+
+	// Bail of the topic author was the only one subscribed.
+	if ( empty( $user_ids ) ) {
+		return false;
+	}
+
 	/** Mail ******************************************************************/
 
@@ -1350,5 +1380,5 @@
 	}
 
-	/** User ******************************************************************/
+	/** Headers ***************************************************************/
 
 	// Get the noreply@ address
@@ -1361,22 +1391,6 @@
 	$headers = array( 'From: ' . get_bloginfo( 'name' ) . ' <' . $from_email . '>' );
 
-	// Get topic subscribers and bail if empty
-	$user_ids = bbp_get_forum_subscribers( $forum_id, true );
-
-	// Dedicated filter to manipulate user ID's to send emails to
-	$user_ids = apply_filters( 'bbp_forum_subscription_user_ids', $user_ids );
-	if ( empty( $user_ids ) ) {
-		return false;
-	}
-
 	// Loop through users
 	foreach ( (array) $user_ids as $user_id ) {
-
-		// Don't send notifications to the person who made the post
-		if ( ! empty( $topic_author ) && (int) $user_id === (int) $topic_author ) {
-			continue;
-		}
-
-		// Get email address of subscribed user
 		$headers[] = 'Bcc: ' . get_userdata( $user_id )->user_email;
 	}
