diff --git tests/phpunit/tests/term/getTerms.php tests/phpunit/tests/term/getTerms.php
index 46db77e..42e3091 100644
--- tests/phpunit/tests/term/getTerms.php
+++ tests/phpunit/tests/term/getTerms.php
@@ -196,6 +196,30 @@ class Tests_Term_getTerms extends WP_UnitTestCase {
 	}
 
 	/**
+	 * @ticket 16863
+	 */
+	public function test_include_should_work_for_all_hierarchy_levels_when_hide_empty_is_true() {
+		register_taxonomy( 'wptests_tax', 'post' );
+
+		$t1 = $this->factory->term->create( array( 'taxonomy' => 'wptests_tax' ) );
+		$t2 = $this->factory->term->create( array( 'taxonomy' => 'wptests_tax', 'parent' => $t1 ) );
+		$t3 = $this->factory->term->create( array( 'taxonomy' => 'wptests_tax', 'parent' => $t2 ) );
+		$t4 = $this->factory->term->create( array( 'taxonomy' => 'wptests_tax', 'parent' => $t3 ) );
+
+		$p = $this->factory->post->create();
+		wp_set_object_terms( $p, array( $t2, $t4 ), 'wptests_tax' );
+
+		$found = get_terms( 'wptests_tax', array(
+			'hide_empty' => true,
+			'hierarchical' => true,
+			'include' => array( $t1, $t2, $t3 ),
+			'fields' => 'ids',
+		) );
+
+		$this->assertEqualSets( array( $t2 ), $found );
+	}
+
+	/**
 	 * @ticket 25710
 	 */
 	function test_get_terms_exclude_tree() {
