Index: src/wp-admin/css/admin-menu.css
===================================================================
--- src/wp-admin/css/admin-menu.css	(revision 30348)
+++ src/wp-admin/css/admin-menu.css	(working copy)
@@ -610,6 +610,11 @@
 	display: none;
 }
 
+/* Hide-if-customize for items we can't add classes to */
+.customize-support #menu-appearance a[href="themes.php?page=custom-header"],
+.customize-support #menu-appearance a[href="themes.php?page=custom-background"] {
+	display: none;
+}
 
 /* Auto-folding of the admin menu */
 @media only screen and (max-width: 960px) {
Index: src/wp-admin/menu.php
===================================================================
--- src/wp-admin/menu.php	(revision 30348)
+++ src/wp-admin/menu.php	(working copy)
@@ -152,11 +152,23 @@
 
 	$customize_url = add_query_arg( 'return', urlencode( wp_unslash( $_SERVER['REQUEST_URI'] ) ), 'customize.php' );
 	$submenu['themes.php'][6] = array( __( 'Customize' ), 'customize', $customize_url, '', 'hide-if-no-customize' );
-	unset( $customize_url );
+
 	if ( current_theme_supports( 'menus' ) || current_theme_supports( 'widgets' ) ) {
 		$submenu['themes.php'][10] = array(__( 'Menus' ), 'edit_theme_options', 'nav-menus.php');
 	}
 
+	if ( current_theme_supports( 'custom-header' ) && current_user_can( 'customize') ) {
+		$customize_header_url = add_query_arg( 'autofocus[control]', 'header_image', $customize_url );
+		$submenu['themes.php'][15] = array( __( 'Header' ), $appearance_cap, $customize_header_url, '', 'hide-if-no-customize' );
+	}
+
+	if ( current_theme_supports( 'custom-background' ) && current_user_can( 'customize') ) {
+		$customize_background_url = add_query_arg( 'autofocus[control]', 'background_image', $customize_url );
+		$submenu['themes.php'][20] = array( __( 'Background' ), $appearance_cap, $customize_background_url, '', 'hide-if-no-customize' );
+	}
+
+	unset( $customize_url );
+
 unset( $appearance_cap );
 
 // Add 'Editor' to the bottom of the Appearance menu.
Index: src/wp-includes/admin-bar.php
===================================================================
--- src/wp-includes/admin-bar.php	(revision 30348)
+++ src/wp-includes/admin-bar.php	(working copy)
@@ -662,13 +662,14 @@
 	if ( ! current_user_can( 'edit_theme_options' ) )
 		return;
 
+	$current_url = ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
+	$customize_url = add_query_arg( 'url', urlencode( $current_url ), wp_customize_url() );
 	if ( current_user_can( 'customize' ) ) {
-		$current_url = ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
 		$wp_admin_bar->add_menu( array(
 			'parent' => 'appearance',
 			'id'     => 'customize',
 			'title'  => __('Customize'),
-			'href'   => add_query_arg( 'url', urlencode( $current_url ), wp_customize_url() ),
+			'href'   => $customize_url,
 			'meta'   => array(
 				'class' => 'hide-if-no-customize',
 			),
@@ -682,11 +683,54 @@
 	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-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-background' ) ) {
+		$wp_admin_bar->add_menu( array(
+			'parent' => 'appearance',
+			'id'     => 'background',
+			'title'  => __( 'Background' ),
+			'href'   => admin_url( 'themes.php?page=custom-background' ),
+			'meta'   => array(
+				'class' => 'hide-if-customize',
+			),
+		) );
 
-	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_user_can( 'customize' ) ) {
+			$wp_admin_bar->add_menu( array(
+				'parent' => 'appearance',
+				'id'     => 'customize-background',
+				'title'  => __( 'Background' ),
+				'href'   => add_query_arg( urlencode( 'autofocus[control]' ), 'background_image', $customize_url ), // urlencode() needed due to #16859
+				'meta'   => array(
+					'class' => 'hide-if-no-customize',
+				),
+			) );
+		}
+	}
+
+	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' ),
+			'meta'   => array(
+				'class' => 'hide-if-customize',
+			),
+		) );
+
+		if ( current_user_can( 'customize' ) ) {
+			$wp_admin_bar->add_menu( array(
+				'parent' => 'appearance',
+				'id'     => 'customize-header',
+				'title'  => __( 'Header' ),
+				'href'   => add_query_arg( urlencode( 'autofocus[control]' ), 'header_image', $customize_url ), // urlencode() needed due to #16859
+				'meta'   => array(
+					'class' => 'hide-if-no-customize',
+				),
+			) );
+		}
+	}
+
 }
 
 /**
