diff --git a/src/wp-admin/includes/menu.php b/src/wp-admin/includes/menu.php
index cea9c75..11736f0 100644
--- a/src/wp-admin/includes/menu.php
+++ b/src/wp-admin/includes/menu.php
@@ -185,6 +185,25 @@ foreach ( $menu as $id => $data ) {
 }
 unset( $id, $data, $subs, $first_sub );
 
+// Hide the tools page if it's going to be empty. 
+$manage_taxonomies = false; 
+if ( current_user_can( 'import' ) ) { 
+	$cats = get_taxonomy( 'category' ); 
+	$tags = get_taxonomy( 'post_tag' ); 
+	if ( current_user_can( $cats->cap->manage_terms ) || current_user_can( $tags->cap->manage_terms ) ) { 
+		$manage_taxonomies = true; 
+	} 
+} 
+if ( ! isset( $submenu['tools.php'] ) && ! $manage_taxonomies && ! has_action( 'tool_box' ) ) { 
+	foreach ( $menu as $i => $data ) { 
+		if ( 'tools.php' == $data[2] ) { 
+			unset( $menu[ $i ] ); 
+			break; 
+		} 
+	} 
+	unset( $data ); 
+}
+
 /**
  * @param string $add
  * @param string $class
diff --git a/src/wp-admin/tools.php b/src/wp-admin/tools.php
index b61d71f..140ebfc 100644
--- a/src/wp-admin/tools.php
+++ b/src/wp-admin/tools.php
@@ -42,6 +42,21 @@ if ( current_user_can($cats->cap->manage_terms) || current_user_can($tags->cap->
 endif;
 endif;
 
+// Display a message in the tools page if it's going to be empty. 
+$manage_taxonomies = false; 
+if ( current_user_can( 'import' ) ) { 
+	$cats = get_taxonomy( 'category' ); 
+	$tags = get_taxonomy( 'post_tag' ); 
+	if ( current_user_can( $cats->cap->manage_terms ) || current_user_can( $tags->cap->manage_terms ) ) { 
+		$manage_taxonomies = true; 
+	} 
+} 
+if ( ! isset( $submenu['tools.php'] ) && ! $manage_taxonomies && ! has_action( 'tool_box' ) ) {
+	?>
+	<p><?php _e( 'Sorry, nothing you can access right now.' ); ?></p>
+	<?php
+}
+
 /**
  * Fires at the end of the Tools Administration screen.
  *
