Index: src/bp-core/bp-core-filters.php
===================================================================
--- src/bp-core/bp-core-filters.php
+++ src/bp-core/bp-core-filters.php
@@ -1024,8 +1024,6 @@
 	$tokens['recipient.email']     = '';
 	$tokens['recipient.name']      = '';
 	$tokens['recipient.username']  = '';
-	$tokens['unsubscribe']         = site_url( 'wp-login.php' );
-
 
 	// Who is the email going to?
 	$recipient = $email->get( 'to' );
@@ -1042,15 +1040,23 @@
 
 		if ( $user_obj ) {
 			// Unsubscribe link.
-			$tokens['unsubscribe'] = esc_url( sprintf(
-				'%s%s/notifications/',
-				bp_core_get_user_domain( $user_obj->ID ),
-				function_exists( 'bp_get_settings_slug' ) ? bp_get_settings_slug() : 'settings'
-			) );
+			if ( bp_is_active( 'settings' ) && empty( $tokens['unsubscribe'] ) ) {
+				$tokens['unsubscribe'] = esc_url( sprintf(
+					'%s%s/notifications/',
+					bp_core_get_user_domain( $user_obj->ID ),
+					bp_get_settings_slug()
+				) );
+			}
+
 			$tokens['recipient.username'] = $user_obj->user_login;
 		}
 	}
 
+	// Set default unsubscribe link if not passed.
+	if ( empty( $tokens['unsubscribe'] ) ) {
+		$tokens['unsubscribe'] = site_url( 'wp-login.php' );
+	}
+
 	// Email preheader.
 	$post = $email->get_post_object();
 	if ( $post ) {
