diff --git src/bp-groups/bp-groups-functions.php src/bp-groups/bp-groups-functions.php
index 7a325c9..38da1fb 100644
--- src/bp-groups/bp-groups-functions.php
+++ src/bp-groups/bp-groups-functions.php
@@ -1534,6 +1534,11 @@ function groups_accept_membership_request( $membership_id, $user_id = 0, $group_
 		$membership = new BP_Groups_Member( false, false, $membership_id );
 	}
 
+	// If the user is already a member, return true.
+	if ( groups_is_user_member( $membership->user_id, $membership->group_id ) ) {
+		return true;
+	}
+
 	$membership->accept_request();
 
 	if ( !$membership->save() ) {
