Index: src/bp-members/bp-members-functions.php
===================================================================
--- src/bp-members/bp-members-functions.php
+++ src/bp-members/bp-members-functions.php
@@ -206,17 +206,26 @@
  *
  * @since 1.2.0
  *
- * @param int $user_id The ID of the user.
- * @return array
+ * @param  int $user_id The ID of the user.
+ * @return array|bool Array of data on success, boolean false on failure.
  */
 function bp_core_get_core_userdata( $user_id = 0 ) {
 	if ( empty( $user_id ) ) {
 		return false;
 	}
 
-	if ( !$userdata = wp_cache_get( 'bp_core_userdata_' . $user_id, 'bp' ) ) {
+	$userdata = wp_cache_get( 'bp_core_userdata_' . $user_id, 'bp' );
+
+	// No cache.
+	if ( false === $userdata ) {
 		$userdata = BP_Core_User::get_core_userdata( $user_id );
-		wp_cache_set( 'bp_core_userdata_' . $user_id, $userdata, 'bp' );
+
+		// Cache data; no-result is cached as integer 0.
+		wp_cache_set( 'bp_core_userdata_' . $user_id, false === $userdata ? 0 : $userdata, 'bp' );
+
+	// Cached no-result, so set return value as false as expected.
+	} elseif ( 0 === $userdata ) {
+		$userdata = false;
 	}
 
 	/**
@@ -224,7 +233,7 @@
 	 *
 	 * @since 1.2.0
 	 *
-	 * @param array $userdata Array of user data for a passed user.
+	 * @param array|bool $userdata Array of user data for a passed user on success, boolean false on failure.
 	 */
 	return apply_filters( 'bp_core_get_core_userdata', $userdata );
 }
Index: src/bp-messages/bp-messages-template.php
===================================================================
--- src/bp-messages/bp-messages-template.php
+++ src/bp-messages/bp-messages-template.php
@@ -1996,6 +1996,13 @@
 	function bp_get_the_thread_message_content() {
 		global $thread_template;
 
+		$content = $thread_template->message->message;
+
+		// If user was deleted, mark content as deleted.
+		if ( false === bp_core_get_core_userdata( bp_get_the_thread_message_sender_id() ) ) {
+			$content = esc_html__( '[deleted]', 'buddypress' );
+		}
+
 		/**
 		 * Filters the content of the current message in the loop.
 		 *
@@ -2003,7 +2010,7 @@
 		 *
 		 * @param string $message The content of the current message in the loop.
 		 */
-		return apply_filters( 'bp_get_the_thread_message_content', $thread_template->message->message );
+		return apply_filters( 'bp_get_the_thread_message_content', $content );
 	}
 
 /** Embeds *******************************************************************/
