Index: wp-content/themes/twentyfourteen/inc/custom-header.php
===================================================================
--- wp-content/themes/twentyfourteen/inc/custom-header.php	(revision 26667)
+++ wp-content/themes/twentyfourteen/inc/custom-header.php	(working copy)
@@ -55,30 +55,31 @@
  *
  */
 function twentyfourteen_header_style() {
-	$header_text_color = get_header_textcolor();
+	$text_color = get_header_textcolor();
 
-	// If no custom options for text are set, let's bail
-	// $header_text_color options: HEADER_TEXTCOLOR is default, hide text (returns 'blank') or any hex value
-	if ( HEADER_TEXTCOLOR == $header_text_color )
+	// If no custom color for text is set, let's bail.
+	if ( display_header_text() && $text_color === get_theme_support( 'custom-header', 'default-text-color' ) )
 		return;
-	// If we get this far, we have custom styles. Let's do this.
+
+	// If we get this far, we have custom styles.
 	?>
-	<style type="text/css">
+	<style type="text/css" id="twentyfourteen-header-css">
 	<?php
 		// Has the text been hidden?
-		if ( 'blank' == $header_text_color ) :
+		if ( ! display_header_text() ) :
 	?>
-		.site-title {
-			position: absolute !important;
-			clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
+		.site-title,
+		.site-description {
+			position: absolute;
+			clip: rect(1px 1px 1px 1px); /* IE7 */
 			clip: rect(1px, 1px, 1px, 1px);
 		}
 	<?php
-		// If the user has set a custom color for the text use that
-		else :
+		// If the user has set a custom color for the text, use that.
+		elseif ( $text_color != get_theme_support( 'custom-header', 'default-text-color' ) ) :
 	?>
 		.site-title a {
-			color: #<?php echo $header_text_color; ?>;
+			color: #<?php echo esc_attr( $text_color ); ?>;
 		}
 	<?php endif; ?>
 	</style>
@@ -97,7 +98,7 @@
  */
 function twentyfourteen_admin_header_style() {
 ?>
-	<style type="text/css">
+	<style type="text/css" id="twentyfourteen-admin-header-css">
 	.appearance_page_custom-header #headimg {
 		background-color: #000;
 		border: none;
Index: wp-content/themes/twentyfourteen/js/customizer.js
===================================================================
--- wp-content/themes/twentyfourteen/js/customizer.js	(revision 26667)
+++ wp-content/themes/twentyfourteen/js/customizer.js	(working copy)
@@ -7,7 +7,7 @@
 	// Site title and description.
 	wp.customize( 'blogname', function( value ) {
 		value.bind( function( to ) {
-			$( '.site-title a' ).text( to );
+			$( '.site-title' ).text( to );
 		} );
 	} );
 	wp.customize( 'blogdescription', function( value ) {
@@ -19,14 +19,14 @@
 	wp.customize( 'header_textcolor', function( value ) {
 		value.bind( function( to ) {
 			if ( 'blank' === to ) {
-				$( '.site-title a, .site-description' ).css( {
+				$( '.site-title, .site-description' ).css( {
 					'clip': 'rect(1px, 1px, 1px, 1px)',
 					'position': 'absolute'
 				} );
 			} else {
-				$( '.site-title a,  .site-description' ).css( {
+				$( '.site-title,  .site-description' ).css( {
 					'clip': 'auto',
-					'position': 'relative'
+					'position': 'static'
 				} );
 
 				$( '.site-title a' ).css( {
