diff --git src/wp-admin/customize.php src/wp-admin/customize.php
index 1faf371..0c2a52e 100644
--- src/wp-admin/customize.php
+++ src/wp-admin/customize.php
@@ -68,14 +68,26 @@ endif;
 
 $is_ios = wp_is_mobile() && preg_match( '/iPad|iPod|iPhone/', $_SERVER['HTTP_USER_AGENT'] );
 
-if ( $is_ios )
+if ( $is_ios ) {
 	$body_class .= ' ios';
+}
 
-if ( is_rtl() )
-	$body_class .=  ' rtl';
+if ( is_rtl() ) {
+	$body_class .= ' rtl';
+}
 $body_class .= ' locale-' . sanitize_html_class( strtolower( str_replace( '_', '-', get_locale() ) ) );
 
-$admin_title = sprintf( __( '%1$s &#8212; WordPress' ), strip_tags( sprintf( __( 'Customize %s' ), $wp_customize->theme()->display('Name') ) ) );
+if ( $wp_customize->is_theme_active() ) {
+	$document_title_tmpl = _x( 'Customize: {{title}} &#8212; WordPress', '{{title}} is for JS template' );
+} else {
+	$document_title_tmpl = sprintf(
+		_x( 'Live Preview %s: {{title}} &#8212; WordPress', '%s is theme name, {{title}} is for JS template' ),
+		strip_tags( $wp_customize->theme()->display( 'Name' ) )
+	);
+}
+$document_title_tmpl = html_entity_decode( $document_title_tmpl, ENT_QUOTES, 'UTF-8' );
+$admin_title = str_replace( '{{title}}', __( 'Loading&hellip;' ), $document_title_tmpl );
+
 ?><title><?php echo $admin_title; ?></title>
 
 <script type="text/javascript">
@@ -230,6 +242,7 @@ do_action( 'customize_controls_print_scripts' );
 			'save'    => wp_create_nonce( 'save-customize_' . $wp_customize->get_stylesheet() ),
 			'preview' => wp_create_nonce( 'preview-customize_' . $wp_customize->get_stylesheet() )
 		),
+		'documentTitleTmpl' => $document_title_tmpl,
 	);
 
 	// Prepare Customize Setting objects to pass to Javascript.
diff --git src/wp-admin/js/customize-controls.js src/wp-admin/js/customize-controls.js
index 4bfc252..c73b2a6 100644
--- src/wp-admin/js/customize-controls.js
+++ src/wp-admin/js/customize-controls.js
@@ -685,6 +685,21 @@
 		};
 	}());
 
+	/**
+	 * Set the document title of the customizer
+	 *
+	 * @param title
+	 */
+	api.setDocumentTitle = function ( documentTitle ) {
+		var tmpl, title;
+		tmpl = api.settings.documentTitleTmpl;
+		title = tmpl.replace( '{{title}}', documentTitle );
+		document.title = title;
+		if ( window !== window.parent ) {
+			window.parent.document.title = document.title;
+		}
+	};
+
 	api.Previewer = api.Messenger.extend({
 		refreshBuffer: 250,
 
@@ -794,6 +809,11 @@
 
 			// Update the URL when the iframe sends a URL message.
 			this.bind( 'url', this.previewUrl );
+
+			// Update the document title when the preview changes
+			this.bind( 'documentTitle', function ( title ) {
+				api.setDocumentTitle( title );
+			} );
 		},
 
 		query: function() {},
diff --git src/wp-includes/js/customize-loader.js src/wp-includes/js/customize-loader.js
index cccf71a..8f84659 100644
--- src/wp-includes/js/customize-loader.js
+++ src/wp-includes/js/customize-loader.js
@@ -36,8 +36,9 @@ window.wp = window.wp || {};
 			});
 
 			// Add navigation listeners.
-			if ( $.support.history )
+			if ( $.support.history ) {
 				this.window.on( 'popstate', Loader.popstate );
+			}
 
 			if ( $.support.hashchange ) {
 				this.window.on( 'hashchange', Loader.hashchange );
@@ -47,31 +48,39 @@ window.wp = window.wp || {};
 
 		popstate: function( e ) {
 			var state = e.originalEvent.state;
-			if ( state && state.customize )
+			if ( state && state.customize ) {
 				Loader.open( state.customize );
-			else if ( Loader.active )
+			} else if ( Loader.active ) {
 				Loader.close();
+			}
 		},
 
 		hashchange: function() {
 			var hash = window.location.toString().split('#')[1];
 
-			if ( hash && 0 === hash.indexOf( 'wp_customize=on' ) )
+			if ( hash && 0 === hash.indexOf( 'wp_customize=on' ) ) {
 				Loader.open( Loader.settings.url + '?' + hash );
+			}
 
-			if ( ! hash && ! $.support.history )
+			if ( ! hash && ! $.support.history ) {
 				Loader.close();
+			}
 		},
 
 		open: function( src ) {
 			var hash;
 
-			if ( this.active )
+			if ( this.active ) {
 				return;
+			}
 
 			// Load the full page on mobile devices.
-			if ( Loader.settings.browser.mobile )
+			if ( Loader.settings.browser.mobile ) {
 				return window.location = src;
+			}
+
+			// Store the document title prior to opening the Live Preview
+			this.originalDocumentTitle = document.title;
 
 			this.active = true;
 			this.body.addClass('customize-loading');
@@ -92,26 +101,29 @@ window.wp = window.wp || {};
 			});
 
 			this.messenger.bind( 'close', function() {
-				if ( $.support.history )
+				if ( $.support.history ) {
 					history.back();
-				else if ( $.support.hashchange )
+				} else if ( $.support.hashchange ) {
 					window.location.hash = '';
-				else
+				} else {
 					Loader.close();
+				}
 			});
 
 			this.messenger.bind( 'activated', function( location ) {
-				if ( location )
+				if ( location ) {
 					window.location = location;
+				}
 			});
 
 			hash = src.split('?')[1];
 
 			// Ensure we don't call pushState if the user hit the forward button.
-			if ( $.support.history && window.location.href !== src )
+			if ( $.support.history && window.location.href !== src ) {
 				history.pushState( { customize: src }, '', src );
-			else if ( ! $.support.history && $.support.hashchange && hash )
+			} else if ( ! $.support.history && $.support.hashchange && hash ) {
 				window.location.hash = 'wp_customize=on&' + hash;
+			}
 
 			this.trigger( 'open' );
 		},
@@ -121,15 +133,22 @@ window.wp = window.wp || {};
 		},
 
 		close: function() {
-			if ( ! this.active )
+			if ( ! this.active ) {
 				return;
+			}
 			this.active = false;
 
 			this.trigger( 'close' );
 
+			// Restore document title prior to opening the Live Preview
+			if ( this.originalDocumentTitle ) {
+				document.title = this.originalDocumentTitle;
+			}
+
 			// Return focus to link that was originally clicked.
-			if ( this.link )
+			if ( this.link ) {
 				this.link.focus();
+			}
 		},
 
 		closed: function() {
diff --git src/wp-includes/js/customize-preview.js src/wp-includes/js/customize-preview.js
index 1d274f9..1b47b78 100644
--- src/wp-includes/js/customize-preview.js
+++ src/wp-includes/js/customize-preview.js
@@ -90,10 +90,13 @@
 			preview.send( 'synced' );
 		});
 
-        preview.bind( 'active', function() {
-            if ( api.settings.nonce )
-                preview.send( 'nonce', api.settings.nonce );
-        });
+		preview.bind( 'active', function() {
+			if ( api.settings.nonce ) {
+				preview.send( 'nonce', api.settings.nonce );
+			}
+
+			preview.send( 'documentTitle', document.title );
+		});
 
 		preview.send( 'ready' );
 
