Index: src/bp-core/classes/class-bp-core-nav.php
===================================================================
--- src/bp-core/classes/class-bp-core-nav.php
+++ src/bp-core/classes/class-bp-core-nav.php
@@ -276,7 +276,7 @@
 			unset( $this->nav[ $this->object_id ][ $nav_item->slug ] );
 
 			// Return the deleted item's screen functions.
-			return array_unique( $screen_functions );
+			return array_unique( $screen_functions, SORT_REGULAR );
 		}
 	}
 
Index: tests/phpunit/testcases/core/nav/bpCoreRemoveNavItem.php
===================================================================
--- tests/phpunit/testcases/core/nav/bpCoreRemoveNavItem.php
+++ tests/phpunit/testcases/core/nav/bpCoreRemoveNavItem.php
@@ -64,4 +64,48 @@
 		$bp->bp_nav = $_bp_nav;
 		$bp->bp_options_nav = $_bp_options_nav;
 	}
+
+	public function foo_is_active( $retval, $component ) {
+		if ( 'foo' === $component ) {
+			$retval = true;
+		}
+
+		return $retval;
+	}
+	/**
+	 * @ticket BP7203
+	 */
+	public function test_remove_subnav_item_array_as_screen_function() {
+		$bp = buddypress();
+
+		add_filter( 'bp_is_active', array( $this, 'foo_is_active' ), 10, 2 );
+
+		$bp->foo = new stdClass;
+		$bp->foo->nav = new BP_Core_Nav( 0 );
+
+		$expected = array( 'foo', 'bar' );
+
+		bp_core_new_nav_item( array(
+			'name' => 'Foo',
+			'slug' => 'foo',
+			'screen_function' => $expected,
+		), 'foo' );
+
+		bp_core_new_subnav_item( array(
+			'name' => 'Bar',
+			'slug' => 'bar',
+			'parent_slug' => 'foo',
+			'parent_url' => 'foo',
+			'screen_function' => $expected,
+		), 'foo' );
+
+		remove_filter( 'bp_is_active', array( $this, 'foo_is_active' ), 10, 2 );
+
+		$this->assertNotEmpty( $bp->foo->nav->get_primary( array( 'slug' => 'foo' ), false ) );
+
+		$tested = $bp->foo->nav->delete_nav( 'foo' );
+		$this->assertSame( $expected, reset( $tested ) );
+
+		$this->assertEmpty( $bp->foo->nav->get_primary( array( 'slug' => 'foo' ), false ) );
+	}
 }
