diff --git src/bp-core/classes/class-bp-invitation.php src/bp-core/classes/class-bp-invitation.php
index 6c9fe44a1..8e731290b 100644
--- src/bp-core/classes/class-bp-invitation.php
+++ src/bp-core/classes/class-bp-invitation.php
@@ -422,7 +422,7 @@ class BP_Invitation {
 		 * invite_sent
 		 * Only create a where statement if something less than "all" has been
 		 * specifically requested.
-		 */ 
+		 */
 		if ( ! empty( $args['invite_sent'] ) && 'all' !== $args['invite_sent'] ) {
 			if ( $args['invite_sent'] == 'draft' ) {
 				$where_conditions['invite_sent'] = "invite_sent = 0";
@@ -443,7 +443,7 @@ class BP_Invitation {
 		// search_terms.
 		if ( ! empty( $args['search_terms'] ) ) {
 			$search_terms_like = '%' . bp_esc_like( $args['search_terms'] ) . '%';
-			$where_conditions['search_terms'] = $wpdb->prepare( "( class LIKE %s )", $search_terms_like, $search_terms_like );
+			$where_conditions['search_terms'] = $wpdb->prepare( '( class LIKE %s OR invitee_email LIKE %s OR content LIKE %s )', $search_terms_like, $search_terms_like );
 		}
 
 		// Custom WHERE.
diff --git tests/phpunit/testcases/core/invitations.php tests/phpunit/testcases/core/invitations.php
index 149179cd4..0646557a4 100644
--- tests/phpunit/testcases/core/invitations.php
+++ tests/phpunit/testcases/core/invitations.php
@@ -173,7 +173,7 @@ include_once BP_TESTS_DIR . 'assets/invitations-extensions.php';
 
 		$this->set_current_user( $old_current_user );
 	}
-	
+
 	public function test_bp_invitations_add_request_vanilla() {
 		$old_current_user = get_current_user_id();
 
@@ -287,4 +287,49 @@ include_once BP_TESTS_DIR . 'assets/invitations-extensions.php';
 		$this->set_current_user( $old_current_user );
 	}
 
+	public function test_bp_invitations_get_by_search_terms() {
+		$old_current_user = get_current_user_id();
+
+		$u1 = $this->factory->user->create();
+		$u2 = $this->factory->user->create();
+		$this->set_current_user( $u1 );
+
+		$invites_class = new BPTest_Invitation_Manager_Extension();
+
+		// Create an invitation.
+		$i1_args = array(
+			'user_id'    => $u2,
+			'inviter_id' => $u1,
+			'item_id'    => 1,
+			'content'    => 'Sometimes, the mystery is enough.',
+		);
+		$i1 = $invites_class->add_invitation( $i1_args );
+		$invites_class->send_invitation_by_id( $i1 );
+
+		// Create an invitation that uses an email address.
+		$i2_args = array(
+			'invitee_email' => 'findme@buddypress.org',
+			'inviter_id'    => $u1,
+			'item_id'       => 1,
+		);
+		$i2 = $invites_class->add_invitation( $i2_args );
+		$invites_class->send_invitation_by_id( $i2 );
+
+		$get_invites = array(
+			'search_terms' => 'mystery',
+			'fields'       => 'ids',
+		);
+		$invites = $invites_class->get_invitations( $get_invites );
+		$this->assertEqualSets( array( $i1 ), $invites );
+
+		$get_invites = array(
+			'search_terms' => 'findme',
+			'fields'       => 'ids',
+		);
+		$invites = $invites_class->get_invitations( $get_invites );
+		$this->assertEqualSets( array( $i2 ), $invites );
+
+		$this->set_current_user( $old_current_user );
+	}
+
 }
