diff --git src/bp-blogs/bp-blogs-filters.php src/bp-blogs/bp-blogs-filters.php
index 7138347b1..08c65e8d4 100644
--- src/bp-blogs/bp-blogs-filters.php
+++ src/bp-blogs/bp-blogs-filters.php
@@ -158,7 +158,7 @@ function bp_blogs_default_avatar( $avatar, $params ) {
 
 	return $avatar;
 }
-add_filter( 'bp_core_avatar_default',       'bp_blogs_default_avatar', 10, 2 );
+add_filter( 'bp_core_default_avatar',       'bp_blogs_default_avatar', 10, 2 );
 add_filter( 'bp_core_avatar_default_thumb', 'bp_blogs_default_avatar', 10, 2 );
 
 /**
diff --git src/bp-core/bp-core-avatars.php src/bp-core/bp-core-avatars.php
index 8662e1336..a44954cc2 100644
--- src/bp-core/bp-core-avatars.php
+++ src/bp-core/bp-core-avatars.php
@@ -95,6 +95,39 @@ function bp_core_set_avatar_globals() {
 }
 add_action( 'bp_setup_globals', 'bp_core_set_avatar_globals' );
 
+/**
+ * Checks whether a given gravatar is one of the default ones.
+ *
+ * @since 8.0.0
+ *
+ * @param string $d The name of the default gravatar.
+ * @return bool True if it's a default gravatar. False otherwise.
+ */
+function bp_core_is_default_gravatar( $d = '' ) {
+	if ( ! $d ) {
+		return false;
+	}
+
+	/** this filter is documented in wp-admin/options-discussion.php */
+	$gravatar_defaults = apply_filters(
+		'avatar_defaults',
+		array_fill_keys(
+			array(
+				'mystery',
+				'blank',
+				'gravatar_default',
+				'identicon',
+				'wavatar',
+				'monsterid',
+				'retro',
+			),
+			''
+		)
+	);
+
+	return isset( $gravatar_defaults[ $d ] );
+}
+
 /**
  * Get an avatar for a BuddyPress object.
  *
@@ -641,15 +674,29 @@ function bp_core_fetch_avatar( $args = '' ) {
 			$url_args['r'] = strtolower( $params['rating'] );
 		}
 
+		/** This filter is documented in wp-includes/deprecated.php */
+		$d = apply_filters_deprecated(
+			'bp_core_avatar_default',
+			array( $default_grav, $params ),
+			'8.0.0',
+			'bp_core_avatar_gravatar_default||bp_core_default_avatar',
+			__( 'This filter was used for 2 different purposes. If your goal was to filter the default *Gravatar*, please use `bp_core_avatar_gravatar_default` instead. Otherwise, please use `bp_core_default_avatar` instead.', 'buddypress' )
+		);
+
+		if ( bp_core_is_default_gravatar( $d ) ) {
+			$default_grav = $d;
+		}
+
 		/**
 		 * Filters the Gravatar "d" parameter.
 		 *
 		 * @since 2.6.0
+		 * @since 8.0.0 The name of the filter was changed to `bp_core_avatar_gravatar_default`.
 		 *
 		 * @param string $default_grav The avatar default.
 		 * @param array  $params       The avatar's data.
 		 */
-		$default_grav = apply_filters( 'bp_core_avatar_default', $default_grav, $params );
+		$default_grav = apply_filters( 'bp_core_avatar_gravatar_default', $default_grav, $params );
 
 		// Only set default image if 'Gravatar Logo' is not requested.
 		if ( ! $params['force_default'] && 'gravatar_default' !== $default_grav ) {
@@ -1838,16 +1885,30 @@ function bp_core_avatar_default( $type = 'gravatar', $params = array() ) {
 		$avatar = '//www.gravatar.com/avatar/00000000000000000000000000000000?d=mm&amp;s=' . $size;
 	}
 
+	/** This filter is documented in wp-includes/deprecated.php */
+	$a = apply_filters_deprecated(
+		'bp_core_avatar_default',
+		array( $avatar, $params ),
+		'8.0.0',
+		'bp_core_avatar_gravatar_default||bp_core_default_avatar',
+		__( 'This filter was used for 2 different purposes. If your goal was to filter the default *Gravatar*, please use `bp_core_avatar_gravatar_default` instead. Otherwise, please use `bp_core_default_avatar` instead.', 'buddypress' )
+	);
+
+	if ( ! bp_core_is_default_gravatar( $a ) && false !== strpos( $avatar, '//' ) ) {
+		$avatar = $a;
+	}
+
 	/**
 	 * Filters the URL of the 'full' default avatar.
 	 *
 	 * @since 1.5.0
 	 * @since 2.6.0 Added `$params`.
+	 * @since 8.0.0 The name of the filter was changed to `bp_core_default_avatar`.
 	 *
 	 * @param string $avatar URL of the default avatar.
 	 * @param array  $params Params provided to bp_core_fetch_avatar().
 	 */
-	return apply_filters( 'bp_core_avatar_default', $avatar, $params );
+	return apply_filters( 'bp_core_default_avatar', $avatar, $params );
 }
 
 /**
diff --git src/bp-groups/bp-groups-filters.php src/bp-groups/bp-groups-filters.php
index 29b424d20..58fd49377 100644
--- src/bp-groups/bp-groups-filters.php
+++ src/bp-groups/bp-groups-filters.php
@@ -69,7 +69,7 @@ add_filter( 'bp_get_total_group_count_for_user', 'bp_core_number_format' );
 add_filter( 'bp_activity_at_name_do_notifications', 'bp_groups_disable_at_mention_notification_for_non_public_groups', 10, 4 );
 
 // Default group avatar.
-add_filter( 'bp_core_avatar_default',       'bp_groups_default_avatar', 10, 3 );
+add_filter( 'bp_core_default_avatar',       'bp_groups_default_avatar', 10, 3 );
 add_filter( 'bp_core_avatar_default_thumb', 'bp_groups_default_avatar', 10, 3 );
 
 // Personal data export.
