Index: src/wp-admin/includes/theme.php
===================================================================
--- src/wp-admin/includes/theme.php	(revision 25879)
+++ src/wp-admin/includes/theme.php	(working copy)
@@ -111,7 +111,7 @@
 function theme_update_available( $theme ) {
 	static $themes_update;
 
-	if ( !current_user_can('update_themes' ) )
+	if ( ! current_user_can( 'view_theme_updates' ) )
 		return;
 
 	if ( !isset($themes_update) )
Index: src/wp-admin/includes/update.php
===================================================================
--- src/wp-admin/includes/update.php	(revision 25879)
+++ src/wp-admin/includes/update.php	(working copy)
@@ -158,7 +158,7 @@
 }
 
 function core_update_footer( $msg = '' ) {
-	if ( !current_user_can('update_core') )
+	if ( ! current_user_can( 'view_core_updates' ) )
 		return sprintf( __( 'Version %s' ), get_bloginfo( 'version', 'display' ) );
 
 	$cur = get_preferred_from_update_core();
@@ -180,7 +180,11 @@
 	break;
 
 	case 'upgrade' :
-		return sprintf( '<strong>'.__( '<a href="%1$s">Get Version %2$s</a>' ).'</strong>', network_admin_url( 'update-core.php' ), $cur->current);
+		if ( current_user_can( 'update_core' ) ) {
+			return sprintf( '<strong>'.__( '<a href="%1$s">Get Version %2$s</a>' ).'</strong>', network_admin_url( 'update-core.php' ), $cur->current);
+		} else {
+			return sprintf( __('<a href="http://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> is available! Please update now.'), $cur->current );
+		}
 	break;
 
 	case 'latest' :
@@ -207,6 +211,8 @@
 
 	if ( current_user_can('update_core') ) {
 		$msg = sprintf( __('<a href="http://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> is available! <a href="%2$s">Please update now</a>.'), $cur->current, network_admin_url( 'update-core.php' ) );
+	} elseif ( current_user_can( 'view_core_updates' ) ) {
+		$msg = sprintf( __('<a href="http://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> is available! Please update now.'), $cur->current );
 	} else {
 		$msg = sprintf( __('<a href="http://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> is available! Please notify the site administrator.'), $cur->current );
 	}
@@ -219,11 +225,16 @@
 function update_right_now_message() {
 	$msg = sprintf( __( 'You are using <span class="b">WordPress %s</span>.' ), get_bloginfo( 'version', 'display' ) );
 
-	if ( current_user_can('update_core') ) {
+	if ( current_user_can( 'view_core_updates' ) ) {
 		$cur = get_preferred_from_update_core();
 
-		if ( isset( $cur->response ) && $cur->response == 'upgrade' )
-			$msg .= " <a href='" . network_admin_url( 'update-core.php' ) . "' class='button'>" . sprintf( __('Update to %s'), $cur->current ? $cur->current : __( 'Latest' ) ) . '</a>';
+		if ( isset( $cur->response ) && $cur->response == 'upgrade' ) {
+			if ( current_user_can( 'update_core' ) ) {
+				$msg .= " <a href='" . network_admin_url( 'update-core.php' ) . "' class='button'>" . sprintf( __( 'Update to %s' ), $cur->current ? $cur->current : __( 'Latest' ) ) . '</a>';
+			} else {
+				$msg .= ' ' . sprintf( __( '<a href="http://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> is available! Please update now.' ), $cur->current );
+			}
+		}
 	}
 
 	echo "<span id='wp-version-message'>$msg</span>";
@@ -244,7 +255,7 @@
 }
 
 function wp_plugin_update_rows() {
-	if ( !current_user_can('update_plugins' ) )
+	if ( ! current_user_can( 'view_plugin_updates' ) )
 		return;
 
 	$plugins = get_site_transient( 'update_plugins' );
Index: src/wp-admin/menu.php
===================================================================
--- src/wp-admin/menu.php	(revision 25879)
+++ src/wp-admin/menu.php	(working copy)
@@ -34,12 +34,12 @@
 	$update_data = wp_get_update_data();
 
 if ( ! is_multisite() ) {
-	if ( current_user_can( 'update_core' ) )
-		$cap = 'update_core';
-	elseif ( current_user_can( 'update_plugins' ) )
-		$cap = 'update_plugins';
+	if ( current_user_can( 'view_core_updates' ) )
+		$cap = 'view_core_updates';
+	elseif ( current_user_can( 'view_plugin_updates' ) )
+		$cap = 'view_plugin_updates';
 	else
-		$cap = 'update_themes';
+		$cap = 'view_theme_updates';
 	$submenu[ 'index.php' ][10] = array( sprintf( __('Updates %s'), "<span class='update-plugins count-{$update_data['counts']['total']}' title='{$update_data['title']}'><span class='update-count'>" . number_format_i18n($update_data['counts']['total']) . "</span></span>" ), $cap, 'update-core.php');
 	unset( $cap );
 }
@@ -155,7 +155,7 @@
 }
 
 $count = '';
-if ( ! is_multisite() && current_user_can( 'update_plugins' ) ) {
+if ( ! is_multisite() && current_user_can( 'view_plugin_updates' ) ) {
 	if ( ! isset( $update_data ) )
 		$update_data = wp_get_update_data();
 	$count = "<span class='update-plugins count-{$update_data['counts']['plugins']}'><span class='plugin-count'>" . number_format_i18n($update_data['counts']['plugins']) . "</span></span>";
@@ -167,7 +167,7 @@
 
 	if ( ! is_multisite() ) {
 		/* translators: add new plugin */
-		$submenu['plugins.php'][10] = array( _x('Add New', 'plugin'), 'install_plugins', 'plugin-install.php' );
+		$submenu['plugins.php'][10] = array( _x('Add New', 'plugin'), 'view_plugin_updates', 'plugin-install.php' );
 		$submenu['plugins.php'][15] = array( _x('Editor', 'plugin editor'), 'edit_plugins', 'plugin-editor.php' );
 	}
 
Index: src/wp-admin/plugin-install.php
===================================================================
--- src/wp-admin/plugin-install.php	(revision 25879)
+++ src/wp-admin/plugin-install.php	(working copy)
@@ -14,8 +14,8 @@
  */
 require_once( dirname( __FILE__ ) . '/admin.php' );
 
-if ( ! current_user_can('install_plugins') )
-	wp_die(__('You do not have sufficient permissions to install plugins on this site.'));
+if ( ! current_user_can( 'view_plugin_updates' ) )
+	wp_die( __( 'You do not have sufficient permissions to view plugin updates for this site.' ) );
 
 if ( is_multisite() && ! is_network_admin() ) {
 	wp_redirect( network_admin_url( 'plugin-install.php' ) );
Index: src/wp-admin/update-core.php
===================================================================
--- src/wp-admin/update-core.php	(revision 25879)
+++ src/wp-admin/update-core.php	(working copy)
@@ -18,8 +18,8 @@
 	exit();
 }
 
-if ( ! current_user_can( 'update_core' ) && ! current_user_can( 'update_themes' ) && ! current_user_can( 'update_plugins' ) )
-	wp_die( __( 'You do not have sufficient permissions to update this site.' ) );
+if ( ! current_user_can( 'view_core_updates' ) && ! current_user_can( 'view_theme_updates' ) && ! current_user_can( 'view_plugin_updates' ) )
+	wp_die( __( 'You do not have sufficient permissions to view updates for this site.' ) );
 
 function list_core_update( $update ) {
  	global $wp_local_package, $wpdb, $wp_version;
@@ -62,8 +62,13 @@
 				$message = sprintf( __('You cannot update because <a href="http://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> requires PHP version %2$s or higher. You are running version %3$s.'), $update->current, $update->php_version, $php_version );
 			elseif ( !$mysql_compat )
 				$message = sprintf( __('You cannot update because <a href="http://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> requires MySQL version %2$s or higher. You are running version %3$s.'), $update->current, $update->mysql_version, $mysql_version );
-			else
-				$message = 	sprintf(__('You can update to <a href="http://codex.wordpress.org/Version_%1$s">WordPress %2$s</a> automatically or download the package and install it manually:'), $update->current, $version_string);
+			else {
+				if ( current_user_can( 'update_core' ) ) {
+					$message = 	sprintf(__('You can update to <a href="http://codex.wordpress.org/Version_%1$s">WordPress %2$s</a> automatically or download the package and install it manually:'), $update->current, $version_string);
+				} else {
+					$message = 	sprintf(__('<a href="http://codex.wordpress.org/Version_%1$s">WordPress %2$s</a> is available. Please download the package and install it manually.'), $update->current, $version_string);
+				}
+			}
 			if ( !$mysql_compat || !$php_compat )
 				$show_buttons = false;
 		}
@@ -79,13 +84,16 @@
 	echo '<input name="version" value="'. esc_attr($update->current) .'" type="hidden"/>';
 	echo '<input name="locale" value="'. esc_attr($update->locale) .'" type="hidden"/>';
 	if ( $show_buttons ) {
-		if ( $first_pass ) {
-			submit_button( $submit, $current ? 'button' : 'primary regular', 'upgrade', false );
-			$first_pass = false;
-		} else {
-			submit_button( $submit, 'button', 'upgrade', false );
+		if ( current_user_can( 'update_core' ) ) {
+			if ( $first_pass ) {
+				submit_button( $submit, $current ? 'button' : 'primary regular', 'upgrade', false );
+				$first_pass = false;
+			} else {
+				submit_button( $submit, 'button', 'upgrade', false );
+			}
+			echo '&nbsp;';
 		}
-		echo '&nbsp;<a href="' . esc_url( $update->download ) . '" class="button">' . $download . '</a>&nbsp;';
+		echo '<a href="' . esc_url( $update->download ) . '" class="button">' . $download . '</a>&nbsp;';
 	}
 	if ( 'en_US' != $update->locale )
 		if ( !isset( $update->dismissed ) || !$update->dismissed )
@@ -186,7 +194,7 @@
 	}
 	echo '</ul>';
 	// Don't show the maintenance mode notice when we are only showing a single re-install option.
-	if ( $updates && ( count( $updates ) > 1 || $updates[0]->response != 'latest' ) ) {
+	if ( $updates && ( count( $updates ) > 1 || $updates[0]->response != 'latest' ) && current_user_can( 'update_core' ) ) {
 		echo '<p>' . __( 'While your site is being updated, it will be in maintenance mode. As soon as your updates are complete, your site will return to normal.' ) . '</p>';
 	} elseif ( ! $updates ) {
 		list( $normalized_version ) = explode( '-', $wp_version );
@@ -216,24 +224,36 @@
 		$core_update_version = $core_updates[0]->current;
 	?>
 <h3><?php _e( 'Plugins' ); ?></h3>
-<p><?php _e( 'The following plugins have new versions available. Check the ones you want to update and then click &#8220;Update Plugins&#8221;.' ); ?></p>
-<form method="post" action="<?php echo esc_url( $form_action ); ?>" name="upgrade-plugins" class="upgrade">
-<?php wp_nonce_field('upgrade-core'); ?>
-<p><input id="upgrade-plugins" class="button" type="submit" value="<?php esc_attr_e('Update Plugins'); ?>" name="upgrade" /></p>
+<p>
+	<?php _e( 'The following plugins have new versions available.' ); ?>
+	<?php if ( current_user_can( 'update_plugins' ) ) : ?>
+		<?php _e( 'Check the ones you want to update and then click &#8220;Update Plugins&#8221;.' ); ?>
+	<?php endif; ?>
+</p>
+	
+<?php if ( current_user_can( 'update_plugins' ) ) : ?>
+	<form method="post" action="<?php echo esc_url( $form_action ); ?>" name="upgrade-plugins" class="upgrade">
+	<?php wp_nonce_field('upgrade-core'); ?>
+	<p><input id="upgrade-plugins" class="button" type="submit" value="<?php esc_attr_e('Update Plugins'); ?>" name="upgrade" /></p>
+<?php endif; ?>
+
 <table class="widefat" cellspacing="0" id="update-plugins-table">
-	<thead>
-	<tr>
-		<th scope="col" class="manage-column check-column"><input type="checkbox" id="plugins-select-all" /></th>
-		<th scope="col" class="manage-column"><label for="plugins-select-all"><?php _e('Select All'); ?></label></th>
-	</tr>
-	</thead>
+	<?php if ( current_user_can( 'update_plugins' ) ) : ?>
+		<thead>
+		<tr>
+			<th scope="col" class="manage-column check-column"><input type="checkbox" id="plugins-select-all" /></th>
+			<th scope="col" class="manage-column"><label for="plugins-select-all"><?php _e('Select All'); ?></label></th>
+		</tr>
+		</thead>
 
-	<tfoot>
-	<tr>
-		<th scope="col" class="manage-column check-column"><input type="checkbox" id="plugins-select-all-2" /></th>
-		<th scope="col" class="manage-column"><label for="plugins-select-all-2"><?php _e('Select All'); ?></label></th>
-	</tr>
-	</tfoot>
+		<tfoot>
+		<tr>
+			<th scope="col" class="manage-column check-column"><input type="checkbox" id="plugins-select-all-2" /></th>
+			<th scope="col" class="manage-column"><label for="plugins-select-all-2"><?php _e('Select All'); ?></label></th>
+		</tr>
+		</tfoot>
+	<?php endif; ?>
+
 	<tbody class="plugins">
 <?php
 	foreach ( (array) $plugins as $plugin_file => $plugin_data) {
@@ -267,17 +287,34 @@
 		$details_text = sprintf(__('View version %1$s details'), $plugin_data->update->new_version);
 		$details = sprintf('<a href="%1$s" class="thickbox" title="%2$s">%3$s</a>.', esc_url($details_url), esc_attr($plugin_data->Name), $details_text);
 
-		echo "
-	<tr class='active'>
-		<th scope='row' class='check-column'><input type='checkbox' name='checked[]' value='" . esc_attr($plugin_file) . "' /></th>
-		<td><p><strong>{$plugin_data->Name}</strong><br />" . sprintf(__('You have version %1$s installed. Update to %2$s.'), $plugin_data->Version, $plugin_data->update->new_version) . ' ' . $details . $compat . $upgrade_notice . "</p></td>
-	</tr>";
+		?>
+		<tr class='active'>
+			<?php if ( current_user_can( 'update_plugins' ) ) : ?>
+				<th scope='row' class='check-column'><input type='checkbox' name='checked[]' value='<?php echo esc_attr( $plugin_file ); ?>' /></th>
+			<?php endif; ?>
+			<td>
+				<p>
+					<strong><?php echo esc_html( $plugin_data->Name ); ?></strong><br />
+					<?php echo sprintf( __( 'You have version %s installed.' ), $plugin_data->Version ); ?>
+					<?php if ( current_user_can( 'update_plugins' ) ) : ?>
+						<?php echo sprintf( __( 'Update to %s.' ), $plugin_data->update->new_version ); ?>
+					<?php else : ?>
+						<?php echo sprintf( __( '%s is available.' ), $plugin_data->update->new_version ); ?>
+					<?php endif; ?>
+					<?php echo $details .' '. $compat .' '. $upgrade_notice; ?>
+				</p>
+			</td>
+		</tr>
+		<?php
 	}
 ?>
 	</tbody>
 </table>
-<p><input id="upgrade-plugins-2" class="button" type="submit" value="<?php esc_attr_e('Update Plugins'); ?>" name="upgrade" /></p>
-</form>
+
+<?php if ( current_user_can( 'update_plugins' ) ) : ?>
+	<p><input id="upgrade-plugins-2" class="button" type="submit" value="<?php esc_attr_e('Update Plugins'); ?>" name="upgrade" /></p>
+	</form>
+<?php endif; ?>
 <?php
 }
 
@@ -293,39 +330,67 @@
 
 ?>
 <h3><?php _e( 'Themes' ); ?></h3>
-<p><?php _e( 'The following themes have new versions available. Check the ones you want to update and then click &#8220;Update Themes&#8221;.' ); ?></p>
+<p>
+	<?php _e( 'The following themes have new versions available.' ); ?>
+	<?php if ( current_user_can( 'update_themes' ) ) : ?>
+		<?php _e( 'Check the ones you want to update and then click &#8220;Update Themes&#8221;.' ); ?>
+	<?php endif; ?>
+</p>
 <p><?php printf( __( '<strong>Please Note:</strong> Any customizations you have made to theme files will be lost. Please consider using <a href="%s">child themes</a> for modifications.' ), __( 'http://codex.wordpress.org/Child_Themes' ) ); ?></p>
-<form method="post" action="<?php echo esc_url( $form_action ); ?>" name="upgrade-themes" class="upgrade">
-<?php wp_nonce_field('upgrade-core'); ?>
-<p><input id="upgrade-themes" class="button" type="submit" value="<?php esc_attr_e('Update Themes'); ?>" name="upgrade" /></p>
+
+<?php if ( current_user_can( 'update_themes' ) ) : ?>
+	<form method="post" action="<?php echo esc_url( $form_action ); ?>" name="upgrade-themes" class="upgrade">
+	<?php wp_nonce_field('upgrade-core'); ?>
+	<p><input id="upgrade-themes" class="button" type="submit" value="<?php esc_attr_e('Update Themes'); ?>" name="upgrade" /></p>
+<?php endif; ?>
+	
 <table class="widefat" cellspacing="0" id="update-themes-table">
-	<thead>
-	<tr>
-		<th scope="col" class="manage-column check-column"><input type="checkbox" id="themes-select-all" /></th>
-		<th scope="col" class="manage-column"><label for="themes-select-all"><?php _e('Select All'); ?></label></th>
-	</tr>
-	</thead>
+	<?php if ( current_user_can( 'update_themes' ) ) : ?>
+		<thead>
+		<tr>
+			<th scope="col" class="manage-column check-column"><input type="checkbox" id="themes-select-all" /></th>
+			<th scope="col" class="manage-column"><label for="themes-select-all"><?php _e('Select All'); ?></label></th>
+		</tr>
+		</thead>
+	
+		<tfoot>
+		<tr>
+			<th scope="col" class="manage-column check-column"><input type="checkbox" id="themes-select-all-2" /></th>
+			<th scope="col" class="manage-column"><label for="themes-select-all-2"><?php _e('Select All'); ?></label></th>
+		</tr>
+		</tfoot>
+	<?php endif; ?>
 
-	<tfoot>
-	<tr>
-		<th scope="col" class="manage-column check-column"><input type="checkbox" id="themes-select-all-2" /></th>
-		<th scope="col" class="manage-column"><label for="themes-select-all-2"><?php _e('Select All'); ?></label></th>
-	</tr>
-	</tfoot>
 	<tbody class="plugins">
 <?php
 	foreach ( $themes as $stylesheet => $theme ) {
-		echo "
-	<tr class='active'>
-		<th scope='row' class='check-column'><input type='checkbox' name='checked[]' value='" . esc_attr( $stylesheet ) . "' /></th>
-		<td class='plugin-title'><img src='" . esc_url( $theme->get_screenshot() ) . "' width='85' height='64' style='float:left; padding: 0 5px 5px' /><strong>" . $theme->display('Name') . '</strong> ' . sprintf( __( 'You have version %1$s installed. Update to %2$s.' ), $theme->display('Version'), $theme->update['new_version'] ) . "</td>
-	</tr>";
+		?>
+		<tr class='active'>
+			<?php if ( current_user_can( 'update_themes' ) ) : ?>
+				<th scope='row' class='check-column'><input type='checkbox' name='checked[]' value='<?php echo esc_attr( $stylesheet ); ?>' /></th>
+			<?php endif; ?>
+			<td class='plugin-title'>
+				<img src='<?php echo esc_url( $theme->get_screenshot() ); ?>' width='85' height='64' style='float:left; padding: 0 5px 5px' />
+				<strong><?php echo esc_html( $theme->display('Name') ); ?></strong>
+				<?php echo sprintf( __( 'You have version %s installed.' ), esc_html( $theme->display( 'Version' ) ) ); ?>
+				
+				<?php if ( current_user_can( 'update_themes' ) ) : ?>
+					<?php echo sprintf( __( 'Update to %s.' ), esc_html( $theme->update['new_version'] ) ); ?>
+				<?php else : ?>
+					<?php echo sprintf( __( '%s is available.' ), esc_html( $theme->update['new_version'] ) ); ?>
+				<?php endif; ?>
+			</td>
+		</tr>
+		<?php
 	}
 ?>
 	</tbody>
 </table>
-<p><input id="upgrade-themes-2" class="button" type="submit" value="<?php esc_attr_e('Update Themes'); ?>" name="upgrade" /></p>
-</form>
+
+<?php if ( current_user_can( 'update_themes' ) ) : ?>
+	<p><input id="upgrade-themes-2" class="button" type="submit" value="<?php esc_attr_e('Update Themes'); ?>" name="upgrade" /></p>
+	</form>
+<?php endif; ?>
 <?php
 }
 
@@ -510,11 +575,11 @@
 	echo ' &nbsp; <a class="button" href="' . esc_url( self_admin_url('update-core.php') ) . '">' . __( 'Check Again' ) . '</a>';
 	echo '</p>';
 
-	if ( $core = current_user_can( 'update_core' ) )
+	if ( $core = current_user_can( 'view_core_updates' ) )
 		core_upgrade_preamble();
-	if ( $plugins = current_user_can( 'update_plugins' ) )
+	if ( $plugins = current_user_can( 'view_plugin_updates' ) )
 		list_plugin_updates();
-	if ( $themes = current_user_can( 'update_themes' ) )
+	if ( $themes = current_user_can( 'view_theme_updates' ) )
 		list_theme_updates();
 	if ( $core || $plugins || $themes )
 		list_translation_updates();
@@ -525,8 +590,8 @@
 
 } elseif ( 'do-core-upgrade' == $action || 'do-core-reinstall' == $action ) {
 
-	if ( ! current_user_can( 'update_core' ) )
-		wp_die( __( 'You do not have sufficient permissions to update this site.' ) );
+	if ( ! current_user_can( 'view_core_updates' ) )
+		wp_die( __( 'You do not have sufficient permissions to view updates for this site.' ) );
 
 	check_admin_referer('upgrade-core');
 
@@ -550,8 +615,8 @@
 
 } elseif ( 'do-plugin-upgrade' == $action ) {
 
-	if ( ! current_user_can( 'update_plugins' ) )
-		wp_die( __( 'You do not have sufficient permissions to update this site.' ) );
+	if ( ! current_user_can( 'view_plugin_updates' ) )
+		wp_die( __( 'You do not have sufficient permissions to view updates for this site.' ) );
 
 	check_admin_referer('upgrade-core');
 
@@ -579,8 +644,8 @@
 
 } elseif ( 'do-theme-upgrade' == $action ) {
 
-	if ( ! current_user_can( 'update_themes' ) )
-		wp_die( __( 'You do not have sufficient permissions to update this site.' ) );
+	if ( ! current_user_can( 'view_theme_updates' ) )
+		wp_die( __( 'You do not have sufficient permissions to view updates for this site.' ) );
 
 	check_admin_referer('upgrade-core');
 
Index: src/wp-includes/capabilities.php
===================================================================
--- src/wp-includes/capabilities.php	(revision 25879)
+++ src/wp-includes/capabilities.php	(working copy)
@@ -1228,6 +1228,14 @@
 		else
 			$caps[] = $cap;
 		break;
+	case 'view_plugin_updates':
+	case 'view_theme_updates':
+	case 'view_core_updates':
+		if ( is_multisite() && ! is_super_admin( $user_id ) )
+			$caps[] = 'do_not_allow';
+		else
+			$caps[] = 'manage_options';
+		break;
 	case 'activate_plugins':
 		$caps[] = $cap;
 		if ( is_multisite() ) {
Index: src/wp-includes/update.php
===================================================================
--- src/wp-includes/update.php	(revision 25879)
+++ src/wp-includes/update.php	(working copy)
@@ -450,21 +450,21 @@
 function wp_get_update_data() {
 	$counts = array( 'plugins' => 0, 'themes' => 0, 'wordpress' => 0, 'translations' => 0 );
 
-	if ( $plugins = current_user_can( 'update_plugins' ) ) {
+	if ( $plugins = current_user_can( 'view_plugin_updates' ) ) {
 		$update_plugins = get_site_transient( 'update_plugins' );
 		if ( ! empty( $update_plugins->response ) )
 			$counts['plugins'] = count( $update_plugins->response );
 	}
 
-	if ( $themes = current_user_can( 'update_themes' ) ) {
+	if ( $themes = current_user_can( 'view_theme_updates' ) ) {
 		$update_themes = get_site_transient( 'update_themes' );
 		if ( ! empty( $update_themes->response ) )
 			$counts['themes'] = count( $update_themes->response );
 	}
 
-	if ( ( $core = current_user_can( 'update_core' ) ) && function_exists( 'get_core_updates' ) ) {
+	if ( ( $core = current_user_can( 'view_core_updates' ) ) && function_exists( 'get_core_updates' ) ) {
 		$update_wordpress = get_core_updates( array('dismissed' => false) );
-		if ( ! empty( $update_wordpress ) && ! in_array( $update_wordpress[0]->response, array('development', 'latest') ) && current_user_can('update_core') )
+		if ( ! empty( $update_wordpress ) && ! in_array( $update_wordpress[0]->response, array( 'development', 'latest' ) ) && current_user_can( 'view_core_updates' ) )
 			$counts['wordpress'] = 1;
 	}
 
