Index: wp-includes/admin-bar.php
===================================================================
--- wp-includes/admin-bar.php	(revision 31882)
+++ wp-includes/admin-bar.php	(working copy)
@@ -187,7 +187,7 @@
 		'id'        => 'my-account',
 		'parent'    => 'top-secondary',
 		'title'     => $howdy . $avatar,
-		'href'      => $profile_url,
+		'href'      => wp_is_mobile() ? '#' : $profile_url,
 		'meta'      => array(
 			'class'     => $class,
 		),
@@ -273,30 +273,40 @@
 
 	$title = wp_html_excerpt( $blogname, 40, '&hellip;' );
 
-	$wp_admin_bar->add_menu( array(
+	$site_menu = array(
 		'id'    => 'site-name',
 		'title' => $title,
-		'href'  => is_admin() ? home_url( '/' ) : admin_url(),
-	) );
+	);
 
+	if ( ! wp_is_mobile() ) {
+		$site_menu['href'] = is_admin() ? home_url( '/' ) : admin_url();
+	}
 	// Create submenu items.
+	$wp_admin_bar->add_menu( $site_menu );
 
+
 	if ( is_admin() ) {
-		// Add an option to visit the site.
-		$wp_admin_bar->add_menu( array(
-			'parent' => 'site-name',
-			'id'     => 'view-site',
-			'title'  => __( 'Visit Site' ),
-			'href'   => home_url( '/' ),
-		) );
 
-		if ( is_blog_admin() && is_multisite() && current_user_can( 'manage_sites' ) ) {
+		if ( ( is_network_admin() || is_blog_admin() ) && is_multisite() && current_user_can( 'manage_sites' ) ) {
 			$wp_admin_bar->add_menu( array(
 				'parent' => 'site-name',
 				'id'     => 'edit-site',
 				'title'  => __( 'Edit Site' ),
 				'href'   => network_admin_url( 'site-info.php?id=' . get_current_blog_id() ),
 			) );
+			$wp_admin_bar->add_menu( array(
+				'parent' => 'site-name',
+				'id'     => 'visit-site',
+				'title'  => __( 'Visit Site' ),
+				'href'   => home_url(),
+			) );
+		} else {
+			$wp_admin_bar->add_menu( array(
+				'parent' => 'site-name',
+				'id'     => 'visit-site',
+				'title'  => __( 'Visit Site' ),
+				'href'   => home_url(),
+			) );
 		}
 
 	} else {
@@ -356,6 +366,12 @@
 		) );
 		$wp_admin_bar->add_menu( array(
 			'parent' => 'network-admin',
+			'id'     => 'network-admin-m',
+			'title'  => __( 'My Sites' ),
+			'href'   => get_admin_url( $wp_admin_bar->user->active_blog->blog_id, 'my-sites.php' ),
+		) );
+		$wp_admin_bar->add_menu( array(
+			'parent' => 'network-admin',
 			'id'     => 'network-admin-s',
 			'title'  => __( 'Sites' ),
 			'href'   => network_admin_url( 'sites.php' ),
@@ -596,12 +612,17 @@
 
 	$title = '<span class="ab-icon"></span><span class="ab-label">' . _x( 'New', 'admin bar menu group label' ) . '</span>';
 
-	$wp_admin_bar->add_menu( array(
+	$site_menu = array(
 		'id'    => 'new-content',
 		'title' => $title,
-		'href'  => admin_url( current( array_keys( $actions ) ) ),
-	) );
+	);
 
+	if ( ! wp_is_mobile() ) {
+		$site_menu['href'] =  admin_url( current( array_keys( $actions ) ) );
+	}
+	// Create submenu items.
+	$wp_admin_bar->add_menu( $site_menu );
+
 	foreach ( $actions as $link => $action ) {
 		list( $title, $id ) = $action;
 
Index: wp-includes/css/admin-bar.css
===================================================================
--- wp-includes/css/admin-bar.css	(revision 31882)
+++ wp-includes/css/admin-bar.css	(working copy)
@@ -207,15 +207,12 @@
 	right: 100%;
 }
 
-#wpadminbar .ab-top-menu > li > .ab-item:focus,
 #wpadminbar.nojq .quicklinks .ab-top-menu > li > .ab-item:focus,
-#wpadminbar .ab-top-menu > li:hover > .ab-item,
 #wpadminbar .ab-top-menu > li.hover > .ab-item {
 	background: #32373c;
 	color: #45bbe6;
 }
 
-#wpadminbar > #wp-toolbar li:hover span.ab-label,
 #wpadminbar > #wp-toolbar li.hover span.ab-label,
 #wpadminbar > #wp-toolbar a:focus span.ab-label {
 	color: #45bbe6;
@@ -244,6 +241,7 @@
 
 #wpadminbar .ab-icon:before,
 #wpadminbar .ab-item:before,
+#wpadminbar .ab-item,
 #wpadminbar #adminbarsearch:before {
 	position: relative;
 	-webkit-transition: all .1s ease-in-out;
@@ -276,8 +274,6 @@
 #wpadminbar .quicklinks .menupop.hover ul li a:focus,
 #wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover,
 #wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,
-#wpadminbar li:hover .ab-icon:before,
-#wpadminbar li:hover .ab-item:before,
 #wpadminbar li a:focus .ab-icon:before,
 #wpadminbar li .ab-item:focus:before,
 #wpadminbar li.hover .ab-icon:before,
Index: wp-includes/js/admin-bar.js
===================================================================
--- wp-includes/js/admin-bar.js	(revision 31882)
+++ wp-includes/js/admin-bar.js	(working copy)
@@ -28,8 +28,17 @@
 					e.stopPropagation();
 					e.preventDefault();
 					el.addClass('hover');
+				} else if ( el.children('.ab-empty-item') ) {
+					if ( el.hasClass('hover') ) {
+						adminbar.find('li.menupop.hover').removeClass('hover');
+					}
 				}
-
+				$('#wpadminbar').click( function(e) {
+					if ( e.target.id != 'wpadminbar' ) {
+					} else {
+						adminbar.find('li.menupop.hover').removeClass('hover');
+					}
+				});
 				if ( unbind ) {
 					$('li.menupop').off('click.wp-mobile-hover');
 					disableHoverIntent = false;
@@ -123,14 +132,6 @@
 			target.siblings('.ab-sub-wrapper').find('.ab-item').each(refresh);
 		});
 
-		$('#wpadminbar').click( function(e) {
-			if ( e.target.id != 'wpadminbar' && e.target.id != 'wp-admin-bar-top-secondary' )
-				return;
-
-			e.preventDefault();
-			$('html, body').animate({ scrollTop: 0 }, 'fast');
-		});
-
 		// fix focus bug in WebKit
 		$('.screen-reader-shortcut').keydown( function(e) {
 			var id, ua;
