diff --git a/src/bp-activity/bp-activity-actions.php b/src/bp-activity/bp-activity-actions.php
index 17f23e6..aac216a 100644
--- a/src/bp-activity/bp-activity-actions.php
+++ b/src/bp-activity/bp-activity-actions.php
@@ -753,10 +753,17 @@ function bp_ajax_get_suggestions() {
 		exit;
 	}
 
-	$results = bp_core_get_suggestions( array(
+	$args = array(
 		'term' => sanitize_text_field( $_GET['term'] ),
 		'type' => sanitize_text_field( $_GET['type'] ),
-	) );
+	);
+
+	// Support per-Group suggestions.
+	if ( ! empty( $_GET['group-id'] ) ) {
+		$args['group_id'] = absint( $_GET['group-id'] );
+	}
+
+	$results = bp_core_get_suggestions( $args );
 
 	if ( is_wp_error( $results ) ) {
 		wp_send_json_error( $results->get_error_message() );
diff --git a/src/bp-activity/js/mentions.js b/src/bp-activity/js/mentions.js
index 2afe163..b5f76b4 100644
--- a/src/bp-activity/js/mentions.js
+++ b/src/bp-activity/js/mentions.js
@@ -151,7 +151,8 @@
 				 * @since BuddyPress (2.1.0)
 				 */
 				remote_filter: function( query, render_view ) {
-					var self = $( this );
+					var self = $( this ),
+						params = {};
 
 					mentionsItem = mentionsQueryCache[ query ];
 					if ( typeof mentionsItem === 'object' ) {
@@ -163,7 +164,13 @@
 						self.xhr.abort();
 					}
 
-					self.xhr = $.getJSON( ajaxurl, { 'action': 'bp_get_suggestions', 'term': query, 'type': 'members' } )
+					params = { 'action': 'bp_get_suggestions', 'term': query, 'type': 'members' };
+
+					if ( $.isNumeric( this.$inputor.data( 'suggestions-group-id' ) ) ) {
+						params['group-id'] = parseInt( this.$inputor.data( 'suggestions-group-id' ), 10 );
+					}
+
+					self.xhr = $.getJSON( ajaxurl, params )
 						/**
 						 * Success callback for the @suggestions lookup.
 						 *
diff --git a/src/bp-groups/bp-groups-filters.php b/src/bp-groups/bp-groups-filters.php
index 9e66f3d..b0e4030 100644
--- a/src/bp-groups/bp-groups-filters.php
+++ b/src/bp-groups/bp-groups-filters.php
@@ -233,3 +233,25 @@ function groups_filter_forums_root_page_sql( $sql ) {
 	return apply_filters( 'groups_filter_bbpress_root_page_sql', 't.topic_id' );
 }
 add_filter( 'get_latest_topics_fields', 'groups_filter_forums_root_page_sql' );
+
+/**
+ * Should BuddyPress load the mentions scripts and related assets, including results to prime the
+ * mentions suggestions?
+ *
+ * @param bool $load_mentions True to load mentions assets, false otherwise.
+ * @param bool $mentions_enabled True if mentions are enabled.
+ * @return bool True if mentions scripts should be loaded.
+ * @since BuddyPress (2.2.0)
+ */
+function bp_groups_maybe_load_mentions_scripts( $load_mentions, $mentions_enabled ) {
+	if ( ! $mentions_enabled ) {
+		return $load_mentions;
+	}
+
+	if ( $load_mentions || ( bp_is_group_activity() || bp_is_group_home() ) ) {
+		return true;
+	}
+
+	return $load_mentions;
+}
+add_filter( 'bp_activity_maybe_load_mentions_scripts', 'bp_groups_maybe_load_mentions_scripts', 10, 2 );
diff --git a/src/bp-templates/bp-legacy/buddypress/activity/post-form.php b/src/bp-templates/bp-legacy/buddypress/activity/post-form.php
index a45213a..df0dc9c 100644
--- a/src/bp-templates/bp-legacy/buddypress/activity/post-form.php
+++ b/src/bp-templates/bp-legacy/buddypress/activity/post-form.php
@@ -27,7 +27,12 @@
 
 	<div id="whats-new-content">
 		<div id="whats-new-textarea">
-			<textarea class="bp-suggestions" name="whats-new" id="whats-new" cols="50" rows="10"><?php if ( isset( $_GET['r'] ) ) : ?>@<?php echo esc_textarea( $_GET['r'] ); ?> <?php endif; ?></textarea>
+			<textarea class="bp-suggestions" name="whats-new" id="whats-new" cols="50" rows="10" 
+			<?php
+			if ( bp_is_group() ) : ?>data-suggestions-group-id="<?php echo esc_attr( (int) bp_get_current_group_id() ); ?>" <?php endif;
+			if ( isset( $_GET['r'] ) ) : ?>@<?php echo esc_textarea( $_GET['r'] ); ?> <?php endif;
+ 			?>
+ 			></textarea>
 		</div>
 
 		<div id="whats-new-options">
