diff --git src/bp-templates/bp-legacy/buddypress-functions.php src/bp-templates/bp-legacy/buddypress-functions.php
index 98f7901..bb53fdd 100644
--- src/bp-templates/bp-legacy/buddypress-functions.php
+++ src/bp-templates/bp-legacy/buddypress-functions.php
@@ -1026,6 +1026,10 @@ function bp_legacy_theme_ajax_invite_user() {
 		if ( BP_Groups_Member::check_for_membership_request( $friend_id, $group_id ) ) {
 			$user_status = 'is_pending';
 
+		// Check if the user was invited by someone else
+		} else if ( BP_Groups_Member::check_has_invite( $friend_id, $group_id, false ) ) {
+			$user_status = 'has_invite';
+
 		// Create the user invitation
 		} else if ( groups_invite_user( array( 'user_id' => $friend_id, 'group_id' => $group_id ) ) ) {
 			$user_status = 'is_invited';
@@ -1039,19 +1043,30 @@ function bp_legacy_theme_ajax_invite_user() {
 
 		$uninvite_url = bp_is_current_action( 'create' ) ? bp_get_root_domain() . '/' . bp_get_groups_root_slug() . '/create/step/group-invites/?user_id=' . $friend_id : bp_get_group_permalink( $group ) . 'send-invites/remove/' . $friend_id;
 
-		echo '<li id="uid-' . $user->id . '">';
-		echo $user->avatar_thumb;
-		echo '<h4>' . $user->user_link . '</h4>';
-		echo '<span class="activity">' . esc_attr( $user->last_active ) . '</span>';
-		echo '<div class="action">
-				<a class="button remove" href="' . wp_nonce_url( $uninvite_url, 'groups_invite_uninvite_user' ) . '" id="uid-' . esc_attr( $user->id ) . '">' . __( 'Remove Invite', 'buddypress' ) . '</a>
-			  </div>';
+		if ( empty( $_POST['is_new_template'] ) ) {
+			echo '<li id="uid-' . $user->id . '">';
+			echo $user->avatar_thumb;
+			echo '<h4>' . $user->user_link . '</h4>';
+			echo '<span class="activity">' . esc_attr( $user->last_active ) . '</span>';
+			echo '<div class="action">
+					<a class="button remove" href="' . wp_nonce_url( $uninvite_url, 'groups_invite_uninvite_user' ) . '" id="uid-' . esc_attr( $user->id ) . '">' . __( 'Remove Invite', 'buddypress' ) . '</a>
+				  </div>';
+
+			if ( 'is_pending' == $user_status ) {
+				echo '<p class="description">' . sprintf( __( '%s has previously requested to join this group. Sending an invitation will automatically add the member to the group.', 'buddypress' ), $user->user_link ) . '</p>';
+			}
 
-		if ( 'is_pending' == $user_status ) {
-			echo '<p class="description">' . sprintf( __( '%s has previously requested to join this group. Sending an invitation will automatically add the member to the group.', 'buddypress' ), $user->user_link ) . '</p>';
+			echo '</li>';
+		} else {
+			if ( 'is_pending' == $user_status ) {
+				echo '-1<p>' . sprintf( __( '%s has previously requested to join this group. Request is awaiting approval by a group admin.', 'buddypress' ), $user->fullname ) .'</p>';
+			} else if ( 'has_invite' == $user_status ) {
+				echo '-1<p>' . sprintf( __( '%s has already been invited to join this group by another member.', 'buddypress' ), $user->fullname ) .'</p>';
+			} else {
+				echo 1;
+			}
 		}
 
-		echo '</li>';
 		exit;
 
 	} elseif ( 'uninvite' == $_POST['friend_action'] ) {
diff --git src/bp-templates/bp-legacy/js/buddypress.js src/bp-templates/bp-legacy/js/buddypress.js
index 5f19a6d..a29fcfc 100644
--- src/bp-templates/bp-legacy/js/buddypress.js
+++ src/bp-templates/bp-legacy/js/buddypress.js
@@ -1018,13 +1018,13 @@ jq(document).ready( function() {
 		// We use the existence of this div to check for old- vs new-
 		// style templates.
 		var invites_new_template = jq( '#send-invite-form > .invite' ).length,
-			friend_id, friend_action;
+			friend_id, friend_action, ajaxdata = {}, input = jq( this );
 
 		jq('.ajax-loader').toggle();
 
 		// Dim the form until the response arrives
 		if ( invites_new_template ) {
-			jq( this ).parents( 'ul' ).find( 'input' ).prop( 'disabled', true );
+			input.parents( 'ul' ).find( 'input' ).prop( 'disabled', true );
 		}
 
 		friend_id = jq(this).val();
@@ -1035,18 +1035,22 @@ jq(document).ready( function() {
 			friend_action = 'uninvite';
 		}
 
+		ajaxdata = {
+			action: 'groups_invite_user',
+			'friend_action'   : friend_action,
+			'cookie'          : bp_get_cookies(),
+			'_wpnonce'        : jq('#_wpnonce_invite_uninvite_user').val(),
+			'friend_id'       : friend_id,
+			'group_id'        : jq('#group_id').val(),
+			'is_new_template' : 1,
+		};
+
 		if ( ! invites_new_template ) {
 			jq( '.item-list-tabs li.selected' ).addClass( 'loading' );
+			ajaxdata.is_new_template = 0;
 		}
 
-		jq.post( ajaxurl, {
-			action: 'groups_invite_user',
-			'friend_action': friend_action,
-			'cookie': bp_get_cookies(),
-			'_wpnonce': jq('#_wpnonce_invite_uninvite_user').val(),
-			'friend_id': friend_id,
-			'group_id': jq('#group_id').val()
-		},
+		jq.post( ajaxurl, ajaxdata,
 		function(response)
 		{
 			if ( jq('#message') ) {
@@ -1054,6 +1058,25 @@ jq(document).ready( function() {
 			}
 
 			if ( invites_new_template ) {
+				// Check for specific cases
+				if ( response[0] + response[1] === '-1' ) {
+					
+					if ( ! jq('.invite .main-column #message').length ) {
+						jq('.invite .main-column').prepend( '<div id="message">' + response.substr( 2, response.length ) + '</div>' );
+					} else {
+						jq('.invite .main-column #message').html( response.substr( 2, response.length ) );
+						jq('#message').show();
+					}
+					
+					// Enable the checkboxes
+					input.parents( 'ul' ).find( 'input' ).prop( 'disabled', false );
+
+					// Uncheck to avoid another user's invite to be removed
+					input.prop( 'checked', false );
+					
+					// Stop the process
+					return;
+				}
 				// With new-style templates, we refresh the
 				// entire list
 				bp_filter_request( 'invite', 'bp-invite-filter', 'bp-invite-scope', 'div.invite', false, 1, '', '', '' );
