diff --git bp-core/bp-core-caps.php bp-core/bp-core-caps.php
index 2ed693d..900c8e4 100644
--- bp-core/bp-core-caps.php
+++ bp-core/bp-core-caps.php
@@ -196,6 +196,38 @@ function bp_current_user_can( $capability, $blog_id = 0 ) {
 	return (bool) apply_filters( 'bp_current_user_can', $retval, $capability, $blog_id );
 }
 
+ /**
+ * Check whether a user has a given capability.
+ *
+ * @since BuddyPress (?.?.0)
+ *
+ * @global $blog_id
+ * @param int $user_id the id of the user to check
+ * @param string $capability Capability or role name.
+ * @uses bp_get_root_blog_id() to get the blog id where BuddyPress is activated
+ * @uses switch_to_blog() to eventually switch to BuddyPress root blog id
+ * @uses restore_current_blog() to switch back to current blog
+ * @return bool True if the user has the cap for the given blog.
+ */
+function bp_user_can( $user_id = 0, $capability = '' ) {
+	global $blog_id;
+
+	if ( empty( $user_id ) || empty( $capability ) ) {
+		return false;
+	}
+
+	if ( $blog_id != bp_get_root_blog_id() ) {
+		switch_to_blog( bp_get_root_blog_id() );
+		$retval = user_can( $user_id, $capability );
+		restore_current_blog();
+	} else {
+		$retval = user_can( $user_id, $capability );
+	}
+
+	return (bool) apply_filters( 'bp_user_can', $retval, $user_id, $capability );
+}
+
+
 /**
  * Temporary implementation of 'bp_moderate' cap.
  *
diff --git bp-core/bp-core-template.php bp-core/bp-core-template.php
index 51c1b38..128a9f7 100644
--- bp-core/bp-core-template.php
+++ bp-core/bp-core-template.php
@@ -53,6 +53,9 @@ function bp_get_options_nav() {
 		if ( !$subnav_item['user_has_access'] )
 			continue;
 
+		if ( 'request-membership' == $subnav_item['slug'] && bp_current_user_can( 'bp_moderate' ) )
+			continue;
+
 		// If the current action or an action variable matches the nav item id, then add a highlight CSS class.
 		if ( $subnav_item['slug'] == bp_current_action() ) {
 			$selected = ' class="current selected"';
diff --git bp-groups/bp-groups-loader.php bp-groups/bp-groups-loader.php
index 0dc2f8a..5a28f1b 100644
--- bp-groups/bp-groups-loader.php
+++ bp-groups/bp-groups-loader.php
@@ -427,7 +427,6 @@ class BP_Groups_Component extends BP_Component {
 			// member and does not have an outstanding invitation,
 			// show a "Request Membership" nav item.
 			if ( is_user_logged_in() &&
-				 ! bp_current_user_can( 'bp_moderate' ) &&
 				 ! $this->current_group->is_user_member &&
 				 ! groups_check_for_membership_request( bp_loggedin_user_id(), $this->current_group->id ) &&
 				 $this->current_group->status == 'private' &&
diff --git bp-groups/bp-groups-screens.php bp-groups/bp-groups-screens.php
index aef0c90..38e9897 100644
--- bp-groups/bp-groups-screens.php
+++ bp-groups/bp-groups-screens.php
@@ -480,6 +480,16 @@ function groups_screen_group_request_membership() {
 			bp_core_add_message( __( 'Your membership request was sent to the group administrator successfully. You will be notified when the group administrator responds to your request.', 'buddypress' ) );
 		}
 		bp_core_redirect( bp_get_group_permalink( $bp->groups->current_group ) );
+
+	} else if( bp_current_user_can( 'bp_moderate') ) {
+		
+		/**
+		 * the template loaded in this case will default to 'groups/single/plugins'
+		 * So to avoid modifying the home template and maximize compatibility with
+		 * themes, we'll use the bp_template_action of this hook to load the 
+		 * 'groups/single/request-membership' template part
+		 */ 
+		add_action( 'bp_template_content', create_function( '', 'return bp_get_template_part("groups/single/request-membership");' ) );
 	}
 
 	do_action( 'groups_screen_group_request_membership', $bp->groups->current_group->id );
@@ -728,6 +738,13 @@ function groups_screen_group_admin_manage_members() {
 			if ( !check_admin_referer( 'groups_ban_member' ) )
 				return false;
 
+			$redirect = bp_get_group_permalink( groups_get_current_group() ) . 'admin/manage-members/';
+
+			if ( bp_user_can( $user_id, 'bp_moderate' ) ) {
+				bp_core_add_message( __( 'The site Administrator cannot be banned from a group.', 'buddypress' ), 'error' );
+				bp_core_redirect( $redirect );
+			}
+
 			// Ban a user.
 			if ( !groups_ban_member( $user_id, $bp->groups->current_group->id ) )
 				bp_core_add_message( __( 'There was an error when banning that user, please try again', 'buddypress' ), 'error' );
@@ -736,7 +753,7 @@ function groups_screen_group_admin_manage_members() {
 
 			do_action( 'groups_banned_member', $user_id, $bp->groups->current_group->id );
 
-			bp_core_redirect( bp_get_group_permalink( groups_get_current_group() ) . 'admin/manage-members/' );
+			bp_core_redirect( $redirect );
 		}
 
 		if ( bp_is_action_variable( 'unban', 1 ) && is_numeric( bp_action_variable( 2 ) ) ) {
diff --git bp-templates/bp-legacy/buddypress/groups/single/admin.php bp-templates/bp-legacy/buddypress/groups/single/admin.php
index 449a7bf..ef26a93 100644
--- bp-templates/bp-legacy/buddypress/groups/single/admin.php
+++ bp-templates/bp-legacy/buddypress/groups/single/admin.php
@@ -265,9 +265,14 @@
 
 								<a href="<?php bp_group_member_unban_link(); ?>" class="button confirm member-unban" title="<?php _e( 'Unban this member', 'buddypress' ); ?>"><?php _e( 'Remove Ban', 'buddypress' ); ?></a>
 
-							<?php else : ?>
+							<?php else : ?>	
+ 
+								<?php if ( ! bp_user_can( bp_get_group_member_id(), 'bp_moderate' ) ) : ?>
+									
+									<a href="<?php bp_group_member_ban_link(); ?>" class="button confirm member-ban" title="<?php _e( 'Kick and ban this member', 'buddypress' ); ?>"><?php _e( 'Kick &amp; Ban', 'buddypress' ); ?></a>
+
+								<?php endif; ?>
 
-								<a href="<?php bp_group_member_ban_link(); ?>" class="button confirm member-ban" title="<?php _e( 'Kick and ban this member', 'buddypress' ); ?>"><?php _e( 'Kick &amp; Ban', 'buddypress' ); ?></a>
 								<a href="<?php bp_group_member_promote_mod_link(); ?>" class="button confirm member-promote-to-mod" title="<?php _e( 'Promote to Mod', 'buddypress' ); ?>"><?php _e( 'Promote to Mod', 'buddypress' ); ?></a>
 								<a href="<?php bp_group_member_promote_admin_link(); ?>" class="button confirm member-promote-to-admin" title="<?php _e( 'Promote to Admin', 'buddypress' ); ?>"><?php _e( 'Promote to Admin', 'buddypress' ); ?></a>
 
