diff --git tests/phpunit/tests/term.php tests/phpunit/tests/term.php
index 2cf5fb2..4f8f33a 100644
--- tests/phpunit/tests/term.php
+++ tests/phpunit/tests/term.php
@@ -1605,6 +1605,70 @@ class Tests_Term extends WP_UnitTestCase {
 		$this->assertWPError( $cat_id2 );
 	}
 
+	public function test_wp_update_term_should_assign_new_slug_when_reassigning_parent_as_long_as_there_is_no_other_term_with_the_same_slug() {
+		register_taxonomy( 'wptests_tax', 'post', array(
+			'hierarchical' => true,
+		) );
+		register_taxonomy( 'wptests_tax_2', 'post', array(
+			'hierarchical' => true,
+		) );
+
+		$t1 = $this->factory->term->create( array(
+			'taxonomy' => 'wptests_tax',
+			'slug' => 'parent-term',
+		) );
+
+		$t2 = $this->factory->term->create( array(
+			'taxonomy' => 'wptests_tax',
+			'slug' => 'foo',
+		) );
+
+		wp_update_term( $t2, 'wptests_tax', array(
+			'parent' => $t1,
+		) );
+
+		$t2_term = get_term( $t2, 'wptests_tax' );
+
+		$this->assertSame( 'foo', $t2_term->slug );
+
+		_unregister_taxonomy( 'wptests_tax' );
+	}
+
+	public function test_wp_update_term_should_not_assign_new_slug_when_reassigning_parent_as_long_as_there_is_no_other_slug_conflict_within_the_taxonomy() {
+		register_taxonomy( 'wptests_tax', 'post', array(
+			'hierarchical' => true,
+		) );
+		register_taxonomy( 'wptests_tax_2', 'post', array(
+			'hierarchical' => true,
+		) );
+
+		$t1 = $this->factory->term->create( array(
+			'taxonomy' => 'wptests_tax',
+			'slug' => 'parent-term',
+		) );
+
+		// Same slug but in a different tax.
+		$t2 = $this->factory->term->create( array(
+			'taxonomy' => 'wptests_tax_2',
+			'slug' => 'foo',
+		) );
+
+		$t3 = $this->factory->term->create( array(
+			'taxonomy' => 'wptests_tax',
+			'slug' => 'foo',
+		) );
+
+		wp_update_term( $t3, 'wptests_tax', array(
+			'parent' => $t1,
+		) );
+
+		$t3_term = get_term( $t3, 'wptests_tax' );
+
+		$this->assertSame( 'foo', $t3_term->slug );
+
+		_unregister_taxonomy( 'wptests_tax' );
+	}
+
 	/** Helpers **********************************************************/
 
 	public function _pre_insert_term_callback() {
