diff --git src/wp-admin/js/customize-nav-menus.js src/wp-admin/js/customize-nav-menus.js
index 6dcdadc..1ca65ae 100644
--- src/wp-admin/js/customize-nav-menus.js
+++ src/wp-admin/js/customize-nav-menus.js
@@ -104,6 +104,24 @@
 				deferred.resolve( response );
 				api.Menus.insertedAutoDrafts.push( response.post_id );
 				api( 'nav_menus_created_posts' ).set( _.clone( api.Menus.insertedAutoDrafts ) );
+
+				if ( 'page' === params.post_type ) {
+
+					// Activate static front page controls as this could be the first page created.
+					_.each( [ 'show_on_front', 'page_on_front', 'page_for_posts' ], function ( controlId ) {
+						var control = api.control( controlId );
+						if ( control ) {
+							control.activate();
+						}
+					} );
+
+					// Add new page to dropdown-pages controls.
+					api.control.each( function( control ) {
+						if ( 'dropdown-pages' === control.params.type ) {
+							control.container.find( 'select:first' ).append( new Option( params.post_title, response.post_id ) );
+						}
+					} );
+				}
 			}
 		} );
 
diff --git src/wp-includes/class-wp-customize-control.php src/wp-includes/class-wp-customize-control.php
index 3f4877f..f6c0076 100644
--- src/wp-includes/class-wp-customize-control.php
+++ src/wp-includes/class-wp-customize-control.php
@@ -533,15 +533,24 @@ class WP_Customize_Control {
 					<span class="description customize-control-description"><?php echo $this->description; ?></span>
 				<?php endif; ?>
 
-				<?php $dropdown = wp_dropdown_pages(
+				<?php
+				$dropdown_name = '_customize-dropdown-pages-' . $this->id;
+				$show_option_none = __( '&mdash; Select &mdash;' );
+				$option_none_value = '0';
+				$dropdown = wp_dropdown_pages(
 					array(
-						'name'              => '_customize-dropdown-pages-' . $this->id,
+						'name'              => $dropdown_name,
 						'echo'              => 0,
-						'show_option_none'  => __( '&mdash; Select &mdash;' ),
-						'option_none_value' => '0',
+						'show_option_none'  => $show_option_none,
+						'option_none_value' => $option_none_value,
 						'selected'          => $this->value(),
 					)
 				);
+				if ( empty( $dropdown ) ) {
+					$dropdown = sprintf( '<select name="%s">', esc_attr( $dropdown_name ) );
+					$dropdown .= sprintf( '<option value="%s">%s</option>', esc_attr( $option_none_value ), esc_html( $show_option_none ) );
+					$dropdown .= '</select>';
+				}
 
 				// Hackily add in the data link parameter.
 				$dropdown = str_replace( '<select', '<select ' . $this->get_link(), $dropdown );
diff --git src/wp-includes/class-wp-customize-manager.php src/wp-includes/class-wp-customize-manager.php
index 668989b..fb54baf 100644
--- src/wp-includes/class-wp-customize-manager.php
+++ src/wp-includes/class-wp-customize-manager.php
@@ -2255,58 +2255,80 @@ final class WP_Customize_Manager {
 		}
 
 		/* Static Front Page */
-		// #WP19627
-
-		// Replicate behavior from options-reading.php and hide front page options if there are no pages
-		if ( get_pages() ) {
-			$this->add_section( 'static_front_page', array(
-				'title'          => __( 'Static Front Page' ),
-			//	'theme_supports' => 'static-front-page',
-				'priority'       => 120,
-				'description'    => __( 'Your theme supports a static front page.' ),
-			) );
+		// See also https://core.trac.wordpress.org/ticket/19627 which introduces the the static-front-page theme_support.
 
-			$this->add_setting( 'show_on_front', array(
-				'default'        => get_option( 'show_on_front' ),
-				'capability'     => 'manage_options',
-				'type'           => 'option',
-			//	'theme_supports' => 'static-front-page',
-			) );
+		// Replicate behavior from options-reading.php.
+		$this->add_section( 'static_front_page', array(
+			'title' => __( 'Static Front Page' ),
+			'priority' => 120,
+			'description' => __( 'Your theme supports a static front page.' ),
+		) );
 
-			$this->add_control( 'show_on_front', array(
-				'label'   => __( 'Front page displays' ),
-				'section' => 'static_front_page',
-				'type'    => 'radio',
-				'choices' => array(
-					'posts' => __( 'Your latest posts' ),
-					'page'  => __( 'A static page' ),
-				),
-			) );
+		$this->add_setting( 'show_on_front', array(
+			'default' => get_option( 'show_on_front' ),
+			'capability' => 'manage_options',
+			'type' => 'option',
+		) );
 
-			$this->add_setting( 'page_on_front', array(
-				'type'       => 'option',
-				'capability' => 'manage_options',
-			//	'theme_supports' => 'static-front-page',
-			) );
+		$this->add_control( 'show_on_front', array(
+			'label' => __( 'Front page displays' ),
+			'section' => 'static_front_page',
+			'type'=> 'radio',
+			'choices' => array(
+				'posts' => __( 'Your latest posts' ),
+				'page'  => __( 'A static page' ),
+			),
+			'active_callback' => array( $this, 'has_published_pages' ),
+		) );
 
-			$this->add_control( 'page_on_front', array(
-				'label'      => __( 'Front page' ),
-				'section'    => 'static_front_page',
-				'type'       => 'dropdown-pages',
-			) );
+		$this->add_setting( 'page_on_front', array(
+			'type'       => 'option',
+			'capability' => 'manage_options',
+		) );
 
-			$this->add_setting( 'page_for_posts', array(
-				'type'           => 'option',
-				'capability'     => 'manage_options',
-			//	'theme_supports' => 'static-front-page',
-			) );
+		$this->add_control( 'page_on_front', array(
+			'label' => __( 'Front page' ),
+			'section' => 'static_front_page',
+			'type' => 'dropdown-pages',
+			'active_callback' => array( $this, 'has_published_pages' ),
+		) );
 
-			$this->add_control( 'page_for_posts', array(
-				'label'      => __( 'Posts page' ),
-				'section'    => 'static_front_page',
-				'type'       => 'dropdown-pages',
-			) );
+		$this->add_setting( 'page_for_posts', array(
+			'type'           => 'option',
+			'capability'     => 'manage_options',
+		//	'theme_supports' => 'static-front-page',
+		) );
+
+		$this->add_control( 'page_for_posts', array(
+			'label' => __( 'Posts page' ),
+			'section' => 'static_front_page',
+			'type' => 'dropdown-pages',
+			'active_callback' => array( $this, 'has_published_pages' ),
+		) );
+	}
+
+	/**
+	 * Return whether there are published pages.
+	 *
+	 * Used as active callback for static front page section and controls.
+	 *
+	 * @access private
+	 * @since 4.7.0
+	 *
+	 * @returns bool Whether there are published (or to be published) pages.
+	 */
+	public function has_published_pages() {
+
+		$setting = $this->get_setting( 'nav_menus_created_posts' );
+		if ( $setting ) {
+			foreach ( $setting->value() as $post_id ) {
+				if ( get_post_type( $post_id ) ) {
+					return true;
+				}
+			}
 		}
+
+		return 0 !== count( get_pages() );
 	}
 
 	/**
