Index: wp-includes/admin-bar.php
===================================================================
--- wp-includes/admin-bar.php	(revision 27439)
+++ wp-includes/admin-bar.php	(working copy)
@@ -660,17 +660,57 @@
 	) );
 	add_action( 'wp_before_admin_bar_render', 'wp_customize_support_script' );
 
-	if ( current_theme_supports( 'widgets' )  )
-		$wp_admin_bar->add_menu( array( 'parent' => 'appearance', 'id' => 'widgets', 'title' => __('Widgets'), 'href' => admin_url('widgets.php') ) );
+	if ( current_theme_supports( 'widgets' ) ) {
+		$wp_admin_bar->add_menu( array(
+			'parent' => 'appearance',
+			'id'     => 'widgets',
+			'title'  => __('Widgets'),
+			'href'   => admin_url('widgets.php'),
+			'meta'   => array(
+				'class' => 'hide-if-customize',
+			),
+		) );
 
-	if ( current_theme_supports( 'menus' ) || current_theme_supports( 'widgets' ) )
-		$wp_admin_bar->add_menu( array( 'parent' => 'appearance', 'id' => 'menus', 'title' => __('Menus'), 'href' => admin_url('nav-menus.php') ) );
+		$wp_admin_bar->add_menu( array(
+			'parent' => 'appearance',
+			'id'     => 'widget-customizer',
+			'title'  => __('Widgets'),
+			'href'   => add_query_arg( array(
+				'url' => urlencode( $current_url ),
+				'widget-customizer' => 'open',
+			), wp_customize_url() ),
+			'meta'   => array(
+				'class' => 'hide-if-no-customize',
+			),
+		) );
+	}
 
-	if ( current_theme_supports( 'custom-background' ) )
-		$wp_admin_bar->add_menu( array( 'parent' => 'appearance', 'id' => 'background', 'title' => __('Background'), 'href' => admin_url('themes.php?page=custom-background') ) );
+	if ( current_theme_supports( 'menus' ) || current_theme_supports( 'widgets' ) ) {
+		$wp_admin_bar->add_menu( array(
+			'parent' => 'appearance',
+			'id' => 'menus',
+			'title' => __('Menus'),
+			'href' => admin_url('nav-menus.php'),
+		) );
+	}
 
-	if ( current_theme_supports( 'custom-header' ) )
-		$wp_admin_bar->add_menu( array( 'parent' => 'appearance', 'id' => 'header', 'title' => __('Header'), 'href' => admin_url('themes.php?page=custom-header') ) );
+	if ( current_theme_supports( 'custom-background' ) ) {
+		$wp_admin_bar->add_menu( array(
+			'parent' => 'appearance',
+			'id' => 'background',
+			'title' => __('Background'),
+			'href' => admin_url('themes.php?page=custom-background'),
+		) );
+	}
+
+	if ( current_theme_supports( 'custom-header' ) ) {
+		$wp_admin_bar->add_menu( array(
+			'parent' => 'appearance',
+			'id' => 'header',
+			'title' => __('Header'),
+			'href' => admin_url('themes.php?page=custom-header'),
+		) );
+	}
 }
 
 /**
