Index: wp-admin/includes/dashboard.php
===================================================================
--- wp-admin/includes/dashboard.php	(revision 19601)
+++ wp-admin/includes/dashboard.php	(working copy)
@@ -251,9 +251,11 @@
 	$num_posts = wp_count_posts( 'post' );
 	$num_pages = wp_count_posts( 'page' );
 
-	$num_cats  = wp_count_terms('category');
+	if ( taxonomy_exists( 'category' ) )
+		$num_cats = wp_count_terms( 'category' );
 
-	$num_tags = wp_count_terms('post_tag');
+	if ( taxonomy_exists( 'post_tag' ) )
+		$num_tags = wp_count_terms( 'post_tag' );
 
 	$num_comm = wp_count_comments( );
 
@@ -302,28 +304,33 @@
 	echo '</tr><tr>';
 
 	// Categories
-	$num = number_format_i18n( $num_cats );
-	$text = _n( 'Category', 'Categories', $num_cats );
-	if ( current_user_can( 'manage_categories' ) ) {
-		$num = "<a href='edit-tags.php?taxonomy=category'>$num</a>";
-		$text = "<a href='edit-tags.php?taxonomy=category'>$text</a>";
+	if ( taxonomy_exists( 'category' ) ) {
+		$num = number_format_i18n( $num_cats );
+		$text = _n( 'Category', 'Categories', $num_cats );
+		if ( current_user_can( 'manage_categories' ) ) {
+			$num = "<a href='edit-tags.php?taxonomy=category'>$num</a>";
+			$text = "<a href='edit-tags.php?taxonomy=category'>$text</a>";
+		}
+		echo '<td class="first b b-cats">' . $num . '</td>';
+		echo '<td class="t cats">' . $text . '</td>';
+
+		echo '</tr><tr>';
 	}
-	echo '<td class="first b b-cats">' . $num . '</td>';
-	echo '<td class="t cats">' . $text . '</td>';
 
-	echo '</tr><tr>';
+	// Tags
+	if ( taxonomy_exists( 'post_tag' ) ) {
+		$num = number_format_i18n( $num_tags );
+		$text = _n( 'Tag', 'Tags', $num_tags );
+		if ( current_user_can( 'manage_categories' ) ) {
+			$num = "<a href='edit-tags.php'>$num</a>";
+			$text = "<a href='edit-tags.php'>$text</a>";
+		}
+		echo '<td class="first b b-tags">' . $num . '</td>';
+		echo '<td class="t tags">' . $text . '</td>';
 
-	// Tags
-	$num = number_format_i18n( $num_tags );
-	$text = _n( 'Tag', 'Tags', $num_tags );
-	if ( current_user_can( 'manage_categories' ) ) {
-		$num = "<a href='edit-tags.php'>$num</a>";
-		$text = "<a href='edit-tags.php'>$text</a>";
+		echo "</tr>";
 	}
-	echo '<td class="first b b-tags">' . $num . '</td>';
-	echo '<td class="t tags">' . $text . '</td>';
 
-	echo "</tr>";
 	do_action('right_now_content_table_end');
 	echo "\n\t</table>\n\t</div>";
 
@@ -547,10 +554,12 @@
 
 		<script type="text/javascript">edCanvas = document.getElementById('content');edInsertContent = null;</script>
 
+		<?php if ( is_object_in_taxonomy( $post->post_type, 'post_tag' ) ) : ?>
 		<h4><label for="tags-input"><?php _e('Tags') ?></label></h4>
 		<div class="input-text-wrap">
 			<input type="text" name="tags_input" id="tags-input" tabindex="3" value="<?php echo get_tags_to_edit( $post->ID ); ?>" />
 		</div>
+		<?php endif; ?>
 
 		<p class="submit">
 			<input type="hidden" name="action" id="quickpost-action" value="post-quickpress-save" />
Index: wp-includes/taxonomy.php
===================================================================
--- wp-includes/taxonomy.php	(revision 19601)
+++ wp-includes/taxonomy.php	(working copy)
@@ -1626,7 +1626,7 @@
  *
  * @param string $taxonomy Taxonomy name
  * @param array|string $args Overwrite defaults. See get_terms()
- * @return int How many terms are in $taxonomy
+ * @return int|WP_Error How many terms are in $taxonomy. WP_Error if $taxonomy does not exist.
  */
 function wp_count_terms( $taxonomy, $args = array() ) {
 	$defaults = array('hide_empty' => false);
