diff --git tests/phpunit/testcases/notifications/functions.php tests/phpunit/testcases/notifications/functions.php
index 60e325a..8ff5ed2 100644
--- tests/phpunit/testcases/notifications/functions.php
+++ tests/phpunit/testcases/notifications/functions.php
@@ -124,6 +124,37 @@ class BP_Tests_Notifications_Functions extends BP_UnitTestCase {
 	}
 
 	/**
+	 * @group cache
+	 * @ticket BP6596
+	 */
+	public function test_cache_invalidation_all_for_user_on_bp_notification_mark_notification() {
+		$u  = $this->factory->user->create();
+		$n1 = $this->factory->notification->create( array(
+			'component_name' => 'groups',
+			'user_id'        => $u
+		) );
+
+		$this->factory->notification->create( array(
+			'component_name' => 'messages',
+			'user_id'        => $u
+		) );
+
+		// prime cache
+		$count = bp_notifications_get_unread_notification_count( $u );
+
+		// just to be sure...
+		$this->assertEquals( 2, $count, 'Cache count should be 2 before invalidation.' );
+		print_r( wp_cache_get( 'all_for_user_' . $u, 'bp_notifications' ) );
+
+		$this->set_current_user( $u );
+
+		// mark one notification as read
+		bp_notifications_mark_notification( $n1, false );
+
+		$this->assertFalse( wp_cache_get( 'all_for_user_' . $u, 'bp_notifications' ) );
+	}
+
+	/**
 	 * @group bp_notifications_add_notification
 	 */
 	public function test_bp_notifications_add_notification_no_dupes() {
