diff --git tests/phpunit/tests/query/taxQuery.php tests/phpunit/tests/query/taxQuery.php
index 8248b19..74a83e0 100644
--- tests/phpunit/tests/query/taxQuery.php
+++ tests/phpunit/tests/query/taxQuery.php
@@ -410,6 +410,47 @@ class Tests_Query_TaxQuery extends WP_UnitTestCase {
 	}
 
 	/**
+	 * @ticket 36343
+	 */
+	public function test_tax_query_operator_not_exists_combined() {
+		register_taxonomy( 'wptests_tax1', 'post' );
+		register_taxonomy( 'wptests_tax2', 'post' );
+
+		$t1 = self::factory()->term->create( array( 'taxonomy' => 'wptests_tax1' ) );
+		$t2 = self::factory()->term->create( array( 'taxonomy' => 'wptests_tax1' ) );
+		$t3 = self::factory()->term->create( array( 'taxonomy' => 'wptests_tax2' ) );
+
+		$p1 = self::factory()->post->create();
+		$p2 = self::factory()->post->create();
+		$p3 = self::factory()->post->create();
+		$p4 = self::factory()->post->create();
+
+		wp_set_object_terms( $p1, array( $t1 ), 'wptests_tax1' );
+		wp_set_object_terms( $p2, array( $t2 ), 'wptests_tax1' );
+		wp_set_object_terms( $p3, array( $t3 ), 'wptests_tax2' );
+
+		$q = new WP_Query( array(
+			'fields'    => 'ids',
+			'orderby'   => 'ID',
+			'order'     => 'ASC',
+			'tax_query' => array(
+				'relation' => 'OR',
+				array(
+					'taxonomy' => 'wptests_tax1',
+					'operator' => 'NOT EXISTS',
+				),
+				array(
+					'taxonomy' => 'wptests_tax1',
+					'field'    => 'slug',
+					'terms'    => get_term_field( 'slug', $t1 ),
+				),
+			),
+		) );
+
+		$this->assertEqualSets( array( $p1, $p3, $p4 ), $q->posts );
+	}
+
+	/**
 	 * @ticket 29181
 	 */
 	public function test_tax_query_operator_exists() {
