diff --git wp-admin/menu.php wp-admin/menu.php
index 365b459..497a89a 100644
--- wp-admin/menu.php
+++ wp-admin/menu.php
@@ -65,7 +65,7 @@ $menu[10] = array( __('Media'), 'upload_files', 'upload.php', '', 'menu-top menu
 	/* translators: add new file */
 	$submenu['upload.php'][10] = array( _x('Add New', 'file'), 'upload_files', 'media-new.php');
 	foreach ( get_taxonomies_for_attachments( 'objects' ) as $tax ) {
-		if ( ! $tax->show_ui )
+		if ( ! $tax->show_ui || ! $tax->show_in_menu  )
 			continue;
 
 		$submenu['upload.php'][$i++] = array( esc_attr( $tax->labels->menu_name ), $tax->cap->manage_terms, 'edit-tags.php?taxonomy=' . $tax->name . '&amp;post_type=attachment' );
@@ -126,7 +126,7 @@ foreach ( (array) get_post_types( array('show_ui' => true, '_builtin' => false,
 
 	$i = 15;
 	foreach ( get_taxonomies( array(), 'objects' ) as $tax ) {
-		if ( ! $tax->show_ui || ! in_array($ptype, (array) $tax->object_type, true) )
+		if ( ! $tax->show_ui || ! $tax->show_in_menu || ! in_array( $ptype, (array) $tax->object_type, true ) )
 			continue;
 
 		$submenu["edit.php?post_type=$ptype"][$i++] = array( esc_attr( $tax->labels->menu_name ), $tax->cap->manage_terms, "edit-tags.php?taxonomy=$tax->name&amp;post_type=$ptype" );
diff --git wp-includes/taxonomy.php wp-includes/taxonomy.php
index 955369e..8d918f5 100644
--- wp-includes/taxonomy.php
+++ wp-includes/taxonomy.php
@@ -326,6 +326,7 @@ function register_taxonomy( $taxonomy, $object_type, $args = array() ) {
 		'query_var' => $taxonomy,
 		'public' => true,
 		'show_ui' => null,
+		'show_in_menu' => null,
 		'show_tagcloud' => null,
 		'_builtin' => false,
 		'labels' => array(),
@@ -363,14 +364,20 @@ function register_taxonomy( $taxonomy, $object_type, $args = array() ) {
 		add_permastruct( $taxonomy, "{$args['rewrite']['slug']}/%$taxonomy%", $args['rewrite'] );
 	}
 
-	if ( is_null($args['show_ui']) )
+	// If not set, default to the setting for public.
+	if ( null === $args['show_ui'] )
 		$args['show_ui'] = $args['public'];
 
+	// If not set, default to the setting for show_ui.
+	if ( null === $args['show_in_menu'] || ! $args['show_ui'] )
+		$args['show_in_menu'] = $args['show_ui'];
+
 	// Whether to show this type in nav-menus.php. Defaults to the setting for public.
 	if ( null === $args['show_in_nav_menus'] )
 		$args['show_in_nav_menus'] = $args['public'];
 
-	if ( is_null($args['show_tagcloud']) )
+	// If not set, default to the setting for show_ui.
+	if ( null === $args['show_tagcloud'] ) 
 		$args['show_tagcloud'] = $args['show_ui'];
 
 	$default_caps = array(
