Index: wp-content/themes/twentyfifteen/js/color-scheme-control.js
===================================================================
--- wp-content/themes/twentyfifteen/js/color-scheme-control.js	(revision 29738)
+++ wp-content/themes/twentyfifteen/js/color-scheme-control.js	(working copy)
@@ -6,6 +6,8 @@
  */
 
 ( function( wp ) {
+	var changedWhileHidden = false;
+
 	wp.customize.controlConstructor.select = wp.customize.Control.extend( {
 		ready: function() {
 			if ( 'color_scheme' === this.id ) {
@@ -19,12 +21,16 @@
 					// if Header Text is not hidden, update value
 					if ( 'blank' !== wp.customize( 'header_textcolor' ).get() ) {
 						wp.customize( 'header_textcolor' ).set( colorScheme[value].colors[4] );
-						headerTextColor.val( colorScheme[value].colors[4] )
-							.data( 'data-default-color', colorScheme[value].colors[4] )
-							.wpColorPicker( 'color', colorScheme[value].colors[4] )
-							.wpColorPicker( 'defaultColor', colorScheme[value].colors[4] );
+						headerTextColor.val( colorScheme[value].colors[4] ).wpColorPicker( 'color', colorScheme[value].colors[4] );
+
+						changedWhileHidden = false;
+					} else {
+						changedWhileHidden = colorScheme[value].colors[4];
 					}
 
+					// update Header Text Color defaults, regardless of display
+					headerTextColor.data( 'data-default-color', colorScheme[value].colors[4] ).wpColorPicker( 'defaultColor', colorScheme[value].colors[4] );
+
 					// update Background Color
 					wp.customize( 'background_color' ).set( colorScheme[value].colors[0] );
 					backgroundColor.val( colorScheme[value].colors[0] )
@@ -49,4 +55,17 @@
 			}
 		}
 	} );
+
+	wp.customize.controlConstructor.checkbox = wp.customize.Control.extend( {
+		ready: function() {
+			if ( 'display_header_text' === this.id ) {
+				jQuery( this.selector ).bind( 'change', function( value ) {
+					if ( 'blank' !== value && false !== changedWhileHidden ) {
+						wp.customize( 'header_textcolor' ).set( changedWhileHidden );
+						jQuery( '#customize-control-header_textcolor .color-picker-hex' ).val( changedWhileHidden ).wpColorPicker( 'color', changedWhileHidden );
+					}
+				} );
+			}
+		}
+	} );
 } )( this.wp );
\ No newline at end of file
