Index: wp-includes/admin-bar.php
===================================================================
--- wp-includes/admin-bar.php	(revision 19911)
+++ wp-includes/admin-bar.php	(working copy)
@@ -343,11 +343,21 @@
 
 	$blue_wp_logo_url = includes_url('images/wpmini-blue.png');
 
+	$i = 0;
 	foreach ( (array) $wp_admin_bar->user->blogs as $blog ) {
-		// @todo Replace with some favicon lookup.
-		//$blavatar = '<img src="' . esc_url( blavatar_url( blavatar_domain( $blog->siteurl ), 'img', 16, $blue_wp_logo_url ) ) . '" alt="Blavatar" width="16" height="16" />';
-		$blavatar = '<img src="' . esc_url($blue_wp_logo_url) . '" alt="' . esc_attr__( 'Blavatar' ) . '" width="16" height="16" class="blavatar"/>';
+		/* If more than 15 sites exist, show only the first 15 sites and a "More Sites" link. */
+		if ( ++$i > apply_filters( 'wp_admin_bar_my_sites_limit', 15 ) ) {
+			$wp_admin_bar->add_menu( array(
+				'parent' => 'my-sites',
+				'id'     => 'more-sites',
+				'title'  => __( 'More Sites' ),
+				'href'   => admin_url( 'my-sites.php' ),
+			) );
+			break;
+		}
 
+		$blavatar = '<img src="' . esc_url( $blue_wp_logo_url ) . '" alt="' . esc_attr__( 'Blavatar' ) . '" width="16" height="16" class="blavatar" />';
+
 		$blogname = empty( $blog->blogname ) ? $blog->domain : $blog->blogname;
 		$menu_id  = 'blog-' . $blog->userblog_id;
 
