diff --git a/wp-includes/class-wp-customize-nav-menus.php b/wp-includes/class-wp-customize-nav-menus.php
index 2d9c13a..087b89f 100644
--- a/wp-includes/class-wp-customize-nav-menus.php
+++ b/wp-includes/class-wp-customize-nav-menus.php
@@ -274,6 +274,14 @@ final class WP_Customize_Nav_Menus {
 		$items = array();
 
 		$post_type_objects = get_post_types( array( 'show_in_nav_menus' => true ), 'objects' );
+		
+		$available_item_types = wp_list_pluck( $this->available_item_types(), 'object' );
+		
+		foreach( $post_type_objects as $key => $value ) {
+			if( !in_array( $key, $available_item_types ) )
+				unset( $post_type_objects[$key] );
+		}
+		
 		$query = array(
 			'post_type'              => array_keys( $post_type_objects ),
 			'suppress_filters'       => true,
@@ -314,12 +322,22 @@ final class WP_Customize_Nav_Menus {
 		}
 
 		// Query taxonomy terms.
-		$taxonomies = get_taxonomies( array( 'show_in_nav_menus' => true ), 'names' );
-		$terms = get_terms( $taxonomies, array(
-			'name__like' => $args['s'],
-			'number'     => 20,
-			'offset'     => 20 * ($args['pagenum'] - 1),
-		) );
+		$taxonomies = get_taxonomies( array( 'show_in_nav_menus' => true ), 'objects' );//'names' );
+		
+		foreach( $taxonomies as $key => $value ) {
+			if( !in_array( $key, $available_item_types ) )
+				unset( $taxonomies[$key] );
+		}
+		
+		$taxonomies = array_keys( $taxonomies );
+		
+		if( !empty($taxonomies) )
+			$terms = get_terms( $taxonomies, array(
+				'name__like' => $args['s'],
+				'number'     => 20,
+				'offset'     => 20 * ($args['pagenum'] - 1),
+			) );
+		else $terms = array();
 
 		// Check if any taxonomies were found.
 		if ( ! empty( $terms ) ) {
