diff --git src/wp-admin/customize.php src/wp-admin/customize.php
index 1faf371..46ec67b 100644
--- src/wp-admin/customize.php
+++ src/wp-admin/customize.php
@@ -12,8 +12,9 @@ define( 'IFRAME_REQUEST', true );
 /** Load WordPress Administration Bootstrap */
 require_once( dirname( __FILE__ ) . '/admin.php' );
 
-if ( ! current_user_can( 'edit_theme_options' ) )
+if ( ! current_user_can( 'customize' ) ) {
 	wp_die( __( 'Cheatin&#8217; uh?' ) );
+}
 
 wp_reset_vars( array( 'url', 'return' ) );
 $url = urldecode( $url );
diff --git src/wp-admin/includes/class-wp-upgrader-skins.php src/wp-admin/includes/class-wp-upgrader-skins.php
index c5d1d3f..cd5c68b 100644
--- src/wp-admin/includes/class-wp-upgrader-skins.php
+++ src/wp-admin/includes/class-wp-upgrader-skins.php
@@ -594,7 +594,7 @@ class Theme_Upgrader_Skin extends WP_Upgrader_Skin {
 			$activate_link = wp_nonce_url( $activate_link, 'switch-theme_' . $stylesheet );
 
 			if ( get_stylesheet() == $stylesheet ) {
-				if ( current_user_can( 'edit_theme_options' ) )
+				if ( current_user_can( 'customize' ) )
 					$update_actions['preview']  = '<a href="' . wp_customize_url( $stylesheet ) . '" class="hide-if-no-customize load-customize" title="' . esc_attr( sprintf( __('Customize &#8220;%s&#8221;'), $name ) ) . '">' . __('Customize') . '</a>';
 			} elseif ( current_user_can( 'switch_themes' ) ) {
 				$update_actions['preview']  = '<a href="' . esc_url( $preview_link ) . '" class="hide-if-customize" title="' . esc_attr( sprintf( __('Preview &#8220;%s&#8221;'), $name ) ) . '">' . __('Preview') . '</a>';
diff --git src/wp-admin/includes/schema.php src/wp-admin/includes/schema.php
index b88a7ab..495e1b6 100644
--- src/wp-admin/includes/schema.php
+++ src/wp-admin/includes/schema.php
@@ -584,6 +584,7 @@ function populate_roles() {
 	populate_roles_270();
 	populate_roles_280();
 	populate_roles_300();
+	populate_roles_400();
 }
 
 /**
@@ -633,6 +634,7 @@ function populate_roles_160() {
 	$role->add_cap('publish_posts');
 	$role->add_cap('edit_pages');
 	$role->add_cap('read');
+	$role->add_cap('customize');
 	$role->add_cap('level_10');
 	$role->add_cap('level_9');
 	$role->add_cap('level_8');
@@ -830,6 +832,19 @@ function populate_roles_300() {
 }
 
 /**
+ * Create and modify WordPress roles for WordPress 4.0.
+ *
+ * @since 4.0.0
+ */
+function populate_roles_400() {
+	$role = get_role( 'administrator' );
+
+	if ( ! empty( $role ) ) {
+		$role->add_cap( 'customize' );
+	}
+}
+
+/**
  * Install Network.
  *
  * @since 3.0.0
diff --git src/wp-admin/includes/upgrade.php src/wp-admin/includes/upgrade.php
index 9e9441e..e105eee 100644
--- src/wp-admin/includes/upgrade.php
+++ src/wp-admin/includes/upgrade.php
@@ -435,6 +435,9 @@ function upgrade_all() {
 	if ( $wp_current_db_version < 26691 )
 		upgrade_380();
 
+	if ( $wp_current_db_version < 27917 )
+		upgrade_400();
+
 	maybe_disable_link_manager();
 
 	maybe_disable_automattic_widgets();
@@ -1296,6 +1299,19 @@ function upgrade_380() {
 		deactivate_plugins( array( 'mp6/mp6.php' ), true );
 	}
 }
+
+/**
+ * Execute changes made in WordPress 4.0.0.
+ *
+ * @since 4.0.0
+ */
+function upgrade_400() {
+	global $wp_current_db_version;
+	if ( $wp_current_db_version < 27917 ) {
+		populate_roles_400();
+	}
+}
+
 /**
  * Execute network level changes
  *
diff --git src/wp-admin/menu.php src/wp-admin/menu.php
index 4008a09..ca76360 100644
--- src/wp-admin/menu.php
+++ src/wp-admin/menu.php
@@ -146,7 +146,7 @@ $appearance_cap = current_user_can( 'switch_themes') ? 'switch_themes' : 'edit_t
 
 $menu[60] = array( __('Appearance'), $appearance_cap, 'themes.php', '', 'menu-top menu-icon-appearance', 'menu-appearance', 'dashicons-admin-appearance' );
 	$submenu['themes.php'][5] = array( __( 'Themes' ), $appearance_cap, 'themes.php' );
-	$submenu['themes.php'][6] = array( __( 'Customize' ), 'edit_theme_options', 'customize.php', 'hide-if-no-customize' );
+	$submenu['themes.php'][6] = array( __( 'Customize' ), 'customize', 'customize.php', 'hide-if-no-customize' );
 	if ( current_theme_supports( 'menus' ) || current_theme_supports( 'widgets' ) )
 		$submenu['themes.php'][10] = array(__( 'Menus' ), 'edit_theme_options', 'nav-menus.php');
 
diff --git src/wp-admin/themes.php src/wp-admin/themes.php
index 0117c0d..55057b9 100644
--- src/wp-admin/themes.php
+++ src/wp-admin/themes.php
@@ -212,13 +212,15 @@ foreach ( $themes as $theme ) :
 	<div class="theme-actions">
 
 	<?php if ( $theme['active'] ) { ?>
-		<?php if ( $theme['actions']['customize'] ) { ?>
+		<?php if ( $theme['actions']['customize'] && current_user_can( 'customize' ) ) { ?>
 			<a class="button button-primary customize load-customize hide-if-no-customize" href="<?php echo $theme['actions']['customize']; ?>"><?php _e( 'Customize' ); ?></a>
 		<?php } ?>
 	<?php } else { ?>
 		<a class="button button-primary activate" href="<?php echo $theme['actions']['activate']; ?>"><?php _e( 'Activate' ); ?></a>
-		<a class="button button-secondary load-customize hide-if-no-customize" href="<?php echo $theme['actions']['customize']; ?>"><?php _e( 'Live Preview' ); ?></a>
-		<a class="button button-secondary hide-if-customize" href="<?php echo $theme['actions']['preview']; ?>"><?php _e( 'Preview' ); ?></a>
+		<?php if ( current_user_can( 'customize' ) ) { ?>
+			<a class="button button-secondary load-customize hide-if-no-customize" href="<?php echo $theme['actions']['customize']; ?>"><?php _e( 'Live Preview' ); ?></a>
+			<a class="button button-secondary hide-if-customize" href="<?php echo $theme['actions']['preview']; ?>"><?php _e( 'Preview' ); ?></a>
+		<?php } ?>
 	<?php } ?>
 
 	</div>
diff --git src/wp-includes/admin-bar.php src/wp-includes/admin-bar.php
index 2a5c3b1..f4ea1c5 100644
--- src/wp-includes/admin-bar.php
+++ src/wp-includes/admin-bar.php
@@ -645,32 +645,37 @@ function wp_admin_bar_appearance_menu( $wp_admin_bar ) {
 	if ( current_user_can( 'switch_themes' ) || current_user_can( 'edit_theme_options' ) )
 		$wp_admin_bar->add_menu( array( 'parent' => 'appearance', 'id' => 'themes', 'title' => __('Themes'), 'href' => admin_url('themes.php') ) );
 
-	if ( ! current_user_can( 'edit_theme_options' ) )
-		return;
-
-	$current_url = ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
-	$wp_admin_bar->add_menu( array(
-		'parent' => 'appearance',
-		'id'     => 'customize',
-		'title'  => __('Customize'),
-		'href'   => add_query_arg( 'url', urlencode( $current_url ), wp_customize_url() ),
-		'meta'   => array(
-			'class' => 'hide-if-no-customize',
-		),
-	) );
-	add_action( 'wp_before_admin_bar_render', 'wp_customize_support_script' );
+	if ( current_user_can( 'customize' ) ) {
+		$current_url = ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
+		$wp_admin_bar->add_menu( array(
+			'parent' => 'appearance',
+			'id'     => 'customize',
+			'title'  => __( 'Customize' ),
+			'href'   => add_query_arg( 'url', urlencode( $current_url ), wp_customize_url() ),
+			'meta'   => array(
+				'class' => 'hide-if-no-customize',
+			),
+		) );
+		add_action( 'wp_before_admin_bar_render', 'wp_customize_support_script' );
+	}
 
-	if ( current_theme_supports( 'widgets' )  )
-		$wp_admin_bar->add_menu( array( 'parent' => 'appearance', 'id' => 'widgets', 'title' => __('Widgets'), 'href' => admin_url('widgets.php') ) );
+	if ( current_user_can( 'edit_theme_options' ) ) {
+		if ( current_theme_supports( 'widgets' )  ) {
+			$wp_admin_bar->add_menu( array( 'parent' => 'appearance', 'id' => 'widgets', 'title' => __( 'Widgets' ), 'href' => admin_url( 'widgets.php' ) ) );
+		}
 
-	if ( current_theme_supports( 'menus' ) || current_theme_supports( 'widgets' ) )
-		$wp_admin_bar->add_menu( array( 'parent' => 'appearance', 'id' => 'menus', 'title' => __('Menus'), 'href' => admin_url('nav-menus.php') ) );
+		if ( current_theme_supports( 'menus' ) || current_theme_supports( 'widgets' ) ) {
+			$wp_admin_bar->add_menu( array( 'parent' => 'appearance', 'id' => 'menus', 'title' => __( 'Menus' ), 'href' => admin_url( 'nav-menus.php' ) ) );
+		}
 
-	if ( current_theme_supports( 'custom-background' ) )
-		$wp_admin_bar->add_menu( array( 'parent' => 'appearance', 'id' => 'background', 'title' => __('Background'), 'href' => admin_url('themes.php?page=custom-background') ) );
+		if ( current_theme_supports( 'custom-background' ) ) {
+			$wp_admin_bar->add_menu( array( 'parent' => 'appearance', 'id' => 'background', 'title' => __( 'Background' ), 'href' => admin_url( 'themes.php?page=custom-background' ) ) );
+		}
 
-	if ( current_theme_supports( 'custom-header' ) )
-		$wp_admin_bar->add_menu( array( 'parent' => 'appearance', 'id' => 'header', 'title' => __('Header'), 'href' => admin_url('themes.php?page=custom-header') ) );
+		if ( current_theme_supports( 'custom-header' ) ) {
+			$wp_admin_bar->add_menu( array( 'parent' => 'appearance', 'id' => 'header', 'title' => __( 'Header' ), 'href' => admin_url( 'themes.php?page=custom-header' ) ) );
+		}
+	}
 }
 
 /**
diff --git src/wp-includes/version.php src/wp-includes/version.php
index 9ed4297..7df42a4 100644
--- src/wp-includes/version.php
+++ src/wp-includes/version.php
@@ -11,7 +11,7 @@ $wp_version = '4.0-alpha-28611-src';
  *
  * @global int $wp_db_version
  */
-$wp_db_version = 27916;
+$wp_db_version = 27917;
 
 /**
  * Holds the TinyMCE version
