Index: wp-admin/themes.php
===================================================================
--- wp-admin/themes.php	(revision 28867)
+++ wp-admin/themes.php	(working copy)
@@ -122,6 +122,7 @@
 		<a href="<?php echo admin_url( 'theme-install.php' ); ?>" class="hide-if-no-js add-new-h2"><?php echo esc_html( _x( 'Add New', 'Add new theme' ) ); ?></a>
 	<?php endif; ?>
 	</h2>
+<div id="notfoundmessage" class="updated"></div>
 <?php
 if ( ! validate_current_theme() || isset( $_GET['broken'] ) ) : ?>
 <div id="message1" class="updated"><p><?php _e('The active theme is broken. Reverting to the default theme.'); ?></p></div>
Index: wp-admin/js/theme.js
===================================================================
--- wp-admin/js/theme.js	(revision 28867)
+++ wp-admin/js/theme.js	(working copy)
@@ -922,8 +922,17 @@
 			this.renderThemes( this.parent.page );
 		}
 
-		// Display a live theme count for the collection
-		this.count.text( this.collection.count ? this.collection.count : this.collection.length );
+		// Display a live theme count for the collection.
+		// Display a No Themes Found message if live theme count is 0
+		var livecounter = this.collection.count ? this.collection.count : this.collection.length
+		var message = document.getElementById("notfoundmessage");		
+		if ( 0 === livecounter ) {
+			message.style.display="block";			
+			message.innerHTML="<p>No Themes Found</p>";
+		} else {
+			message.style.display="none";
+		}		
+		this.count.text( livecounter );
 	},
 
 	// Iterates through each instance of the collection
