diff --git wp-includes/default-filters.php wp-includes/default-filters.php
index c796453..4121af3 100644
--- wp-includes/default-filters.php
+++ wp-includes/default-filters.php
@@ -248,9 +248,9 @@ add_action( 'comment_form', 'wp_comment_form_unfiltered_html_nonce'        );
 add_action( 'wp_scheduled_delete',        'wp_scheduled_delete'            );
 
 // Navigation menu actions
-add_action( 'delete_post',                '_wp_delete_post_menu_item'      );
-add_action( 'delete_term',                '_wp_delete_tax_menu_item'       );
-add_action( 'transition_post_status', '_wp_auto_add_pages_to_menu',  10, 3 );
+add_action( 'delete_post',                '_wp_delete_post_menu_item'       );
+add_action( 'delete_term',                '_wp_delete_tax_menu_item', 10, 3 );
+add_action( 'transition_post_status', '_wp_auto_add_pages_to_menu',   10, 3  );
 
 // Post Thumbnail CSS class filtering
 add_action( 'begin_fetch_post_thumbnail_html', '_wp_post_thumbnail_class_filter_add'    );
diff --git wp-includes/nav-menu.php wp-includes/nav-menu.php
index e1af8f7..1a30131 100644
--- wp-includes/nav-menu.php
+++ wp-includes/nav-menu.php
@@ -640,9 +640,10 @@ function wp_setup_nav_menu_item( $menu_item ) {
  *
  * @param int $object_id The ID of the original object.
  * @param string $object_type The type of object, such as "taxonomy" or "post_type."
+ * @param string $taxonomy If $object_type is "taxonomy", $taxonomy is the name of the tax that $object_id belongs to
  * @return array The array of menu item IDs; empty array if none;
  */
-function wp_get_associated_nav_menu_items( $object_id = 0, $object_type = 'post_type' ) {
+function wp_get_associated_nav_menu_items( $object_id = 0, $object_type = 'post_type', $taxonomy = '' ) {
 	$object_id = (int) $object_id;
 	$menu_item_ids = array();
 
@@ -658,7 +659,7 @@ function wp_get_associated_nav_menu_items( $object_id = 0, $object_type = 'post_
 	);
 	foreach( (array) $menu_items as $menu_item ) {
 		if ( isset( $menu_item->ID ) && is_nav_menu_item( $menu_item->ID ) ) {
-			if ( get_post_meta( $menu_item->ID, '_menu_item_type', true ) != $object_type )
+			if ( get_post_meta( $menu_item->ID, '_menu_item_type', true ) != $object_type || get_post_meta( $menu_item->ID, '_menu_item_object', true ) != $taxonomy )
 				continue;
 
 			$menu_item_ids[] = (int) $menu_item->ID;
@@ -696,10 +697,10 @@ function _wp_delete_post_menu_item( $object_id = 0 ) {
  * @param int $object_id The ID of the original object being trashed.
  *
  */
-function _wp_delete_tax_menu_item( $object_id = 0 ) {
+function _wp_delete_tax_menu_item( $object_id = 0, $tt_id, $taxonomy ) {
 	$object_id = (int) $object_id;
 
-	$menu_item_ids = wp_get_associated_nav_menu_items( $object_id, 'taxonomy' );
+	$menu_item_ids = wp_get_associated_nav_menu_items( $object_id, 'taxonomy', $taxonomy );
 
 	foreach( (array) $menu_item_ids as $menu_item_id ) {
 		wp_delete_post( $menu_item_id, true );
