Index: src/bp-core/bp-core-buddybar.php
===================================================================
--- src/bp-core/bp-core-buddybar.php
+++ src/bp-core/bp-core-buddybar.php
@@ -61,7 +61,7 @@
 	 * To mimic legacy behavior, if bp_core_create_nav_link() returns false, we make
 	 * an early exit and don't attempt to register the screen function.
 	 */
-	if ( false === $nav_item ) {
+	if ( false === $nav_item && ! isset( $r['visibility'] ) ) {
 		return false;
 	}
 
@@ -151,6 +151,14 @@
 		'default_subnav_slug'	  => $r['default_subnav_slug']
 	);
 
+	if ( isset( $r['visibility'] ) ) {
+		$nav_item['visibility'] = $r['visibility'];
+	}
+
+	if ( isset( $r['visibility'] ) && false === $r['visibility'] ) {
+		return $nav_item;
+	}
+
 	// Add the item to the nav.
 	buddypress()->{$component}->nav->add_nav( $nav_item );
 
@@ -226,7 +234,7 @@
 	 * the logged in user is not the displayed user
 	 * looking at their own profile, don't don't register this screen function.
 	 */
-	if ( empty( $r['show_for_displayed_user'] ) && ! bp_user_has_access() ) {
+	if ( ! isset( $r['visibility'] ) && empty( $r['show_for_displayed_user'] ) && ! bp_user_has_access() ) {
 		return false;
 	}
 
Index: src/bp-messages/classes/class-bp-messages-component.php
===================================================================
--- src/bp-messages/classes/class-bp-messages-component.php
+++ src/bp-messages/classes/class-bp-messages-component.php
@@ -162,13 +162,13 @@
 
 		// Add 'Messages' to the main navigation.
 		$main_nav = array(
-			'name'                    => $nav_name,
-			'slug'                    => $slug,
-			'position'                => 50,
-			'show_for_displayed_user' => $access,
-			'screen_function'         => 'messages_screen_inbox',
-			'default_subnav_slug'     => 'inbox',
-			'item_css_id'             => $this->id
+			'name'                => $nav_name,
+			'slug'                => $slug,
+			'position'            => 50,
+			'visibility'          => $access,
+			'screen_function'     => 'messages_screen_inbox',
+			'default_subnav_slug' => 'inbox',
+			'item_css_id'         => $this->id
 		);
 
 		// Add the subnav items to the profile.
