diff --git src/bp-core/bp-core-functions.php src/bp-core/bp-core-functions.php
index 5b93f9c..ae7fd2e 100644
--- src/bp-core/bp-core-functions.php
+++ src/bp-core/bp-core-functions.php
@@ -1528,6 +1528,24 @@ function bp_is_network_activated() {
 	return (bool) apply_filters( 'bp_is_network_activated', $retval );
 }
 
+/**
+ * Check wether BuddyPress is activated on the main site
+ *
+ * @since  BuddyPress (?)
+ *
+ * @param  int    $site_id the site ID to check.
+ * @return bool            true if not multisite or if multisite and BuddyPress
+ *                         root blog id is the same than WordPress network main site,
+ *                         false otherwise.
+ */
+function bp_is_main_site_for_network( $site_id = 0 ) {
+	if ( empty( $site_id ) ) {
+		$site_id = bp_get_root_blog_id();
+	}
+
+	return (bool) is_main_site( $site_id );
+}
+
 /** Global Manipulators *******************************************************/
 
 /**
@@ -2034,4 +2052,4 @@ function bp_core_get_suggestions( $args ) {
 	}
 
 	return apply_filters( 'bp_core_get_suggestions', $retval, $args );
-}
\ No newline at end of file
+}
diff --git src/bp-members/bp-members-admin.php src/bp-members/bp-members-admin.php
index 8ca63b7..ad871cf 100644
--- src/bp-members/bp-members-admin.php
+++ src/bp-members/bp-members-admin.php
@@ -410,7 +410,7 @@ class BP_Members_Admin {
 		);
 
 		// Only show sign-ups where they belong
-		if ( ! is_multisite() || is_network_admin() ) {
+		if ( ! is_multisite() || ( is_network_admin() && ! $this->subsite_activated ) || ( $this->subsite_activated && ! is_network_admin() ) ) {
 
 			// Manage signups
 			$hooks['signups'] = $this->signups_page = add_users_page(
diff --git src/bp-members/bp-members-functions.php src/bp-members/bp-members-functions.php
index 1fba30e..fc378c6 100644
--- src/bp-members/bp-members-functions.php
+++ src/bp-members/bp-members-functions.php
@@ -1535,6 +1535,31 @@ function bp_core_validate_blog_signup( $blog_url, $blog_title ) {
 }
 
 /**
+ * Specific config : BuddyPress is activated on main site but is not network
+ * activated. In this case, we need to add specific usermeta so that the user
+ * will also be a member of the main site.
+ *
+ * Once the signup is activated, WordPress will add the user to the blog if
+ * he's not signing up with a blog, else BuddyPress will add the user to main
+ * site.
+ *
+ * @since  BuddyPress (?)
+ *
+ * @param  array $usermeta the signup meta informations
+ * @return array           the signup meta unchanged or with specific ones if needed
+ */
+function bp_core_get_blog_signup_meta( $usermeta = array() ) {
+	if ( ! bp_is_network_activated() && bp_is_main_site_for_network() ) {
+		$usermeta = array_merge( $usermeta, array(
+			'add_to_blog' => bp_get_root_blog_id(),
+			'new_role'    => bp_get_option( 'default_role', 'subscriber' ),
+		) );
+	}
+
+	return (array) apply_filters( 'bp_core_get_blog_signup_meta', $usermeta );
+}
+
+/**
  * Process data submitted at user registration and convert to a signup object.
  *
  * @todo There appears to be a bug in the return value on success.
@@ -1552,6 +1577,9 @@ function bp_core_signup_user( $user_login, $user_password, $user_email, $usermet
 	// We need to cast $user_id to pass to the filters
 	$user_id = false;
 
+	// Specific config
+	$usermeta = bp_core_get_blog_signup_meta( $usermeta );
+
 	// Multisite installs have their own install procedure
 	if ( is_multisite() ) {
 		wpmu_signup_user( $user_login, $user_email, $usermeta );
@@ -1622,10 +1650,56 @@ function bp_core_signup_blog( $blog_domain, $blog_path, $blog_title, $user_name,
 		return false;
 	}
 
+	// Specific config
+	$usermeta = bp_core_get_blog_signup_meta( $usermeta );
+
 	return apply_filters( 'bp_core_signup_blog', wpmu_signup_blog( $blog_domain, $blog_path, $blog_title, $user_name, $user_email, $usermeta ) );
 }
 
 /**
+ * Make sure a user who registered with a blog has a role on the main site
+ * if BuddyPress is activated on it but not network activated
+ *
+ * @since  BuddyPress (?)
+ *
+ * @param  int     $blog_id      the blog ID the user registered
+ * @param  int     $user_id      the user ID
+ * @param  string  $password
+ * @param  string  $signup_title
+ * @param  array   $meta         the signup meta we need.
+ */
+function bp_core_maybe_activate_user_on_root_blog( $blog_id = 0, $user_id = 0, $password = '', $signup_title = '', $meta = array() ) {
+	// Do nothing for regular multisite config
+	if ( bp_is_network_activated() ) {
+		return;
+	}
+
+	// Bail if we do not have needed signup metas
+	if ( empty( $meta['add_to_blog'] ) || empty( $meta['new_role'] ) || empty( $user_id ) ) {
+		return;
+	}
+
+	/**
+	 * Handle the specific config : BuddyPress is not network activated
+	 * but is activated on the main site.
+	 */
+	if ( bp_is_main_site_for_network() ) {
+		$blog_id = absint( $meta[ 'add_to_blog' ] );
+
+		// Bail if we don't get BuddyPress root blog
+		if ( bp_get_root_blog_id() != $blog_id ) {
+			return;
+		}
+
+		$role = sanitize_text_field( $meta[ 'new_role' ] );
+
+		// Finally add user to blog without setting it as primary
+		add_user_to_blog( $blog_id, $user_id, $role );
+	}
+}
+add_action( 'wpmu_activate_blog', 'bp_core_maybe_activate_user_on_root_blog', 10, 5 );
+
+/**
  * Activate a signup, as identified by an activation key.
  *
  * @param string $key Activation key.
@@ -1636,8 +1710,11 @@ function bp_core_activate_signup( $key ) {
 
 	$user = false;
 
-	// Multisite installs have their own activation routine
-	if ( is_multisite() ) {
+	/**
+	 * If BuddyPress is activated on the main site of the network, use the
+	 * multisite activation routine to create user and eventually a blog
+	 */
+	if ( is_multisite() && bp_is_main_site_for_network() ) {
 		$user = wpmu_activate_signup( $key );
 
 		// If there were errors, add a message and redirect
@@ -1647,6 +1724,14 @@ function bp_core_activate_signup( $key ) {
 
 		$user_id = $user['user_id'];
 
+	/**
+	 * Config is not multisite or BuddyPress is activated on a sub site.
+	 * In this case, we need to give capabilities to the user so that he
+	 * appears in the users list once activated.
+	 *
+	 * When BuddyPress is activated on a sub site, only registering an account
+	 * is possible.
+	 */
 	} else {
 		$signups = BP_Signup::get( array(
 			'activation_key' => $key,
