diff --git bp-groups/bp-groups-loader.php bp-groups/bp-groups-loader.php
index 4a0b188..87461be 100644
--- bp-groups/bp-groups-loader.php
+++ bp-groups/bp-groups-loader.php
@@ -266,11 +266,15 @@ class BP_Groups_Component extends BP_Component {
 					bp_do_404();
 					return;
 
-				// Skip the no_access check on home and membership request pages
-				} elseif ( !bp_is_current_action( 'home' ) && !bp_is_current_action( 'request-membership' ) ) {
-
-					// Off-limits to this user. Throw an error and redirect to the group's home page
-					if ( is_user_logged_in() ) {
+				} else {
+					
+					// Skip the no_access check on home and membership request pages. Also check for access exemptions requested by plugins. See @bp_groups_always_visible_tabs() for how to filter this value.
+					$access_exemption = apply_filters( 'bp_groups_access_exemption', false );
+
+					if ( $access_exemption ) {
+						// Do nothing; prevents bp_core_no_access from acting.
+					} elseif ( is_user_logged_in() ) {
+						// Off-limits to this user. Throw an error and redirect to the group's home page
 						bp_core_no_access( array(
 							'message'  => __( 'You do not have access to this group.', 'buddypress' ),
 							'root'     => bp_get_group_permalink( $bp->groups->current_group ) . 'home/',
@@ -605,3 +609,13 @@ function bp_setup_groups() {
 	buddypress()->groups = new BP_Groups_Component();
 }
 add_action( 'bp_setup_components', 'bp_setup_groups', 6 );
+
+function bp_groups_always_visible_tabs( $setting ) {
+	// Skip the no_access check on home and membership request pages. Must return $setting if not acting.
+	if ( bp_is_current_action( 'request-membership' ) || bp_is_current_action( 'home' ) ) {
+		return true;
+	} else {
+		return $setting;
+	}
+}
+add_filter( 'bp_groups_access_exemption', 'bp_groups_always_visible_tabs', 11 );
\ No newline at end of file
