Index: includes/extend/buddypress/group.php
===================================================================
--- includes/extend/buddypress/group.php	(revision 4607)
+++ includes/extend/buddypress/group.php	(working copy)
@@ -187,10 +187,12 @@
 			case 'publish_topics'      :
 			case 'read_hidden_forums'  :
 			case 'read_private_forums' :
-				if ( bp_group_is_member() || bp_group_is_mod() || bp_group_is_admin() ) {
+				if ( groups_is_user_member( bp_loggedin_user_id(), bp_get_current_group_id() ) ||
+				     groups_is_user_mod( bp_loggedin_user_id(), bp_get_current_group_id() ) ||
+				     groups_is_user_admin( bp_loggedin_user_id(), bp_get_current_group_id() )
+				) {
 					$caps = array( 'participate' );
 				}
-				break;
 
 			// If user is a group mod ar admin, map to participate cap.
 			case 'moderate'     :
@@ -199,7 +201,9 @@
 			case 'view_trash'   :
 			case 'edit_others_replies' :
 			case 'edit_others_topics'  :
-				if ( bp_group_is_mod() || bp_group_is_admin() ) {
+				if ( groups_is_user_mod( bp_loggedin_user_id(), bp_get_current_group_id() ) ||
+				     groups_is_user_admin( bp_loggedin_user_id(), bp_get_current_group_id() )
+				) {
 					$caps = array( 'participate' );
 				}
 				break;
@@ -207,7 +211,7 @@
 			// If user is a group admin, allow them to delete topics and replies.
 			case 'delete_topic' :
 			case 'delete_reply' :
-				if ( bp_group_is_admin() ) {
+				if ( groups_is_user_admin( bp_loggedin_user_id(), bp_get_current_group_id() ) ) {
 					$caps = array( 'participate' );
 				}
 				break;
