Index: src/wp-content/themes/twentyfourteen/header.php
===================================================================
--- src/wp-content/themes/twentyfourteen/header.php	(revision 39202)
+++ src/wp-content/themes/twentyfourteen/header.php	(working copy)
@@ -32,7 +32,7 @@
 
 <body <?php body_class(); ?>>
 <div id="page" class="hfeed site">
-	<?php if ( function_exists( 'has_header_video' ) && has_header_video() ) : ?>
+	<?php if ( is_front_page() && function_exists( 'has_header_video' ) && has_header_video() ) : ?>
 		<div id="site-header">
 			<?php the_custom_header_markup(); ?>
 		</div>
Index: src/wp-content/themes/twentyfourteen/inc/customizer.php
===================================================================
--- src/wp-content/themes/twentyfourteen/inc/customizer.php	(revision 39202)
+++ src/wp-content/themes/twentyfourteen/inc/customizer.php	(working copy)
@@ -19,8 +19,6 @@
 	$wp_customize->get_setting( 'blogname' )->transport          = 'postMessage';
 	$wp_customize->get_setting( 'blogdescription' )->transport   = 'postMessage';
 	$wp_customize->get_setting( 'header_textcolor' )->transport  = 'postMessage';
-	$wp_customize->get_setting( 'header_image' )->transport      = 'postMessage';
-	$wp_customize->get_setting( 'header_image_data' )->transport = 'postMessage';
 
 	if ( isset( $wp_customize->selective_refresh ) ) {
 		$wp_customize->selective_refresh->add_partial( 'blogname', array(
Index: src/wp-content/themes/twentyseventeen/inc/customizer.php
===================================================================
--- src/wp-content/themes/twentyseventeen/inc/customizer.php	(revision 39202)
+++ src/wp-content/themes/twentyseventeen/inc/customizer.php	(working copy)
@@ -16,8 +16,6 @@
 	$wp_customize->get_setting( 'blogname' )->transport          = 'postMessage';
 	$wp_customize->get_setting( 'blogdescription' )->transport   = 'postMessage';
 	$wp_customize->get_setting( 'header_textcolor' )->transport  = 'postMessage';
-	$wp_customize->get_setting( 'header_image' )->transport      = 'postMessage';
-	$wp_customize->get_setting( 'header_image_data' )->transport = 'postMessage';
 
 	$wp_customize->selective_refresh->add_partial( 'blogname', array(
 		'selector' => '.site-title a',
Index: src/wp-content/themes/twentyseventeen/template-parts/header/header-image.php
===================================================================
--- src/wp-content/themes/twentyseventeen/template-parts/header/header-image.php	(revision 39202)
+++ src/wp-content/themes/twentyseventeen/template-parts/header/header-image.php	(working copy)
@@ -10,26 +10,11 @@
 
 ?>
 <div class="custom-header">
-	<?php
-	$header_image = get_header_image();
 
-	// Check if Custom Header image has been added.
-	if ( has_custom_header() ) :
-	?>
+	<div class="custom-header-image">
+		<?php the_custom_header_markup(); ?>
+	</div>
 
-		<?php // Output the full custom header - video and/or image fallback. ?>
-		<div class="custom-header-image">
-			<?php the_custom_header_markup(); ?>
-		</div>
-		<?php get_template_part( 'template-parts/header/site', 'branding' ); ?>
+	<?php get_template_part( 'template-parts/header/site', 'branding' ); ?>
 
-	<?php else : ?>
-
-		<?php // Otherwise, show a blank header. ?>
-		<div class="custom-header-simple">
-			<?php get_template_part( 'template-parts/header/site', 'branding' ); ?>
-		</div><!-- .custom-header-simple -->
-
-	<?php endif; ?>
-
 </div><!-- .custom-header -->
Index: src/wp-includes/class-wp-customize-manager.php
===================================================================
--- src/wp-includes/class-wp-customize-manager.php	(revision 39202)
+++ src/wp-includes/class-wp-customize-manager.php	(working copy)
@@ -3462,6 +3462,12 @@
 			'theme_supports' => 'custom-header',
 		) ) );
 
+		// Switch image settings to post message when video support is enabled.
+		if ( current_theme_supports( 'custom-header', 'video' ) ) {
+			$this->get_setting( 'header_image' )->transport = 'postMessage';
+			$this->get_setting( 'header_image_data' )->transport = 'postMessage';
+		}
+
 		$this->add_control( new WP_Customize_Media_Control( $this, 'header_video', array(
 			'theme_supports' => array( 'custom-header', 'video' ),
 			'label'          => __( 'Header Video' ),
Index: src/wp-includes/theme.php
===================================================================
--- src/wp-includes/theme.php	(revision 39202)
+++ src/wp-includes/theme.php	(working copy)
@@ -1410,13 +1410,15 @@
 /**
  * Retrieve the markup for a custom header.
  *
+ * The container div will always be returned in the Customizer preview.
+ *
  * @since 4.7.0
  *
- * @return string|false The markup for a custom header on success. False if not.
+ * @return string The markup for a custom header on success.
  */
 function get_custom_header_markup() {
-	if ( ! has_custom_header() ) {
-		return false;
+	if ( ! has_custom_header() && ! is_customize_preview() ) {
+		return '';
 	}
 
 	return sprintf(
@@ -1428,15 +1430,19 @@
 /**
  * Print the markup for a custom header.
  *
+ * A container div will always be printed in the Customizer preview.
+ *
  * @since 4.7.0
  */
-function the_custom_header_markup() {
-	if ( ! $custom_header = get_custom_header_markup() ) {
+function the_custom_header_markup( $args = array() ) {
+	$custom_header = get_custom_header_markup();
+	if ( empty( $custom_header ) ) {
 		return;
 	}
+
 	echo $custom_header;
 
-	if ( has_header_video() && is_front_page() ) {
+	if ( is_front_page() && ( has_header_video() || is_customize_preview() ) ) {
 		wp_enqueue_script( 'wp-custom-header' );
 		wp_localize_script( 'wp-custom-header', '_wpCustomHeaderSettings', get_header_video_settings() );
 	}
