Index: bp-core/bp-core-caps.php
===================================================================
--- bp-core/bp-core-caps.php	(revision 7766)
+++ bp-core/bp-core-caps.php	(working copy)
@@ -198,6 +198,38 @@
 	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.
  *
Index: bp-core/bp-core-template.php
===================================================================
--- bp-core/bp-core-template.php	(revision 7766)
+++ bp-core/bp-core-template.php	(working copy)
@@ -53,6 +53,9 @@
 		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"';
Index: bp-groups/bp-groups-loader.php
===================================================================
--- bp-groups/bp-groups-loader.php	(revision 7766)
+++ bp-groups/bp-groups-loader.php	(working copy)
@@ -421,7 +421,6 @@
 			// 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' &&
Index: bp-groups/bp-groups-screens.php
===================================================================
--- bp-groups/bp-groups-screens.php	(revision 7766)
+++ bp-groups/bp-groups-screens.php	(working copy)
@@ -728,6 +728,13 @@
 			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 +743,7 @@
 
 			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 ) ) ) {
Index: bp-templates/bp-legacy/buddypress/groups/single/admin.php
===================================================================
--- bp-templates/bp-legacy/buddypress/groups/single/admin.php	(revision 7766)
+++ bp-templates/bp-legacy/buddypress/groups/single/admin.php	(working copy)
@@ -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>
 
-								<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_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>
 
Index: bp-templates/bp-legacy/buddypress/groups/single/home.php
===================================================================
--- bp-templates/bp-legacy/buddypress/groups/single/home.php	(revision 7766)
+++ bp-templates/bp-legacy/buddypress/groups/single/home.php	(working copy)
@@ -69,6 +69,10 @@
 				// Old group forums
 				elseif ( bp_is_group_forum()      ) : bp_get_template_part( 'groups/single/forum'        );
 
+				// group membership requests for site admins
+				elseif ( bp_is_group_membership_request() && bp_current_user_can( 'bp_moderate' ) ) : 
+					bp_get_template_part( 'groups/single/request-membership' );
+
 				// Anything else (plugins mostly)
 				else                                : bp_get_template_part( 'groups/single/plugins'      );
 
