Index: wp-admin/update-core.php
===================================================================
--- wp-admin/update-core.php	(revision 17246)
+++ wp-admin/update-core.php	(working copy)
@@ -115,59 +115,61 @@
  *
  * @return null
  */
-function core_upgrade_preamble() {
+function core_upgrade_preamble( $update_status ) {
 	global $upgrade_error;
-
-	$updates = get_core_updates();
 ?>
 	<div class="wrap">
 	<?php screen_icon('tools'); ?>
 	<h2><?php _e('WordPress Updates'); ?></h2>
 <?php
-	if ( $upgrade_error ) {
-		echo '<div class="error"><p>';
-		if ( $upgrade_error == 'themes' )
-			_e('Please select one or more themes to update.');
-		else
-			_e('Please select one or more plugins to update.');
-		echo '</p></div>';
+	if( is_wp_error( $update_status ) ) {
+		echo '<div class="error">';
+		echo '<p>' . __('Wordpress encountered an error while trying to check for updates: ') . $update_status->get_error_message() . '</p>';
+		echo '<p><a class="button" href="' . esc_url( self_admin_url('update-core.php') ) . '">' . __( 'Try Again' ) . '</a></p>';
 	}
+	else {
+		if ( $upgrade_error ) {
+			echo '<div class="error"><p>';
+			if ( $upgrade_error == 'themes' )
+				_e('Please select one or more themes to update.');
+			else
+				_e('Please select one or more plugins to update.');
+			echo '</p></div>';
+		}
+		
+		$updates = get_core_updates();
 
-	echo '<p>';
-	/* translators: %1 date, %2 time. */
-	printf( __('Last checked on %1$s at %2$s.'), date_i18n( get_option( 'date_format' ) ), date_i18n( get_option( 'time_format' ) ) );
-	echo ' &nbsp; <a class="button" href="' . esc_url( self_admin_url('update-core.php') ) . '">' . __( 'Check Again' ) . '</a>';
-	echo '</p>';
+		if ( !isset($updates[0]->response) || 'latest' == $updates[0]->response ) {
+			echo '<h3>';
+			_e('You have the latest version of WordPress.');
+			echo '</h3>';
+			echo '<p><a class="button" href="' . esc_url( self_admin_url('update-core.php') ) . '">' . __( 'Check again for new updates.' ) . '</a></p>';
+		} else {
+			echo '<div class="updated inline"><p>';
+			_e('<strong>Important:</strong> before updating, please <a href="http://codex.wordpress.org/WordPress_Backups">back up your database and files</a>. For help with updates, visit the <a href="http://codex.wordpress.org/Updating_WordPress">Updating WordPress</a> Codex page.');
+			echo '</p></div>';
 
-	if ( !isset($updates[0]->response) || 'latest' == $updates[0]->response ) {
-		echo '<h3>';
-		_e('You have the latest version of WordPress.');
-		echo '</h3>';
-	} else {
-		echo '<div class="updated inline"><p>';
-		_e('<strong>Important:</strong> before updating, please <a href="http://codex.wordpress.org/WordPress_Backups">back up your database and files</a>. For help with updates, visit the <a href="http://codex.wordpress.org/Updating_WordPress">Updating WordPress</a> Codex page.');
-		echo '</p></div>';
+			echo '<h3 class="response">';
+			_e( 'An updated version of WordPress is available.' );
+			echo '</h3>';
+		}
 
-		echo '<h3 class="response">';
-		_e( 'An updated version of WordPress is available.' );
-		echo '</h3>';
-	}
+		echo '<ul class="core-updates">';
+		$alternate = true;
+		foreach( (array) $updates as $update ) {
+			echo '<li>';
+			list_core_update( $update );
+			echo '</li>';
+		}
+		echo '</ul>';
+		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>';
+		dismissed_updates();
 
-	echo '<ul class="core-updates">';
-	$alternate = true;
-	foreach( (array) $updates as $update ) {
-		echo '<li>';
-		list_core_update( $update );
-		echo '</li>';
+		if ( current_user_can( 'update_plugins' ) )
+			list_plugin_updates();
+		if ( current_user_can( 'update_themes' ) )
+			list_theme_updates();
 	}
-	echo '</ul>';
-	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>';
-	dismissed_updates();
-
-	if ( current_user_can( 'update_plugins' ) )
-		list_plugin_updates();
-	if ( current_user_can( 'update_themes' ) )
-		list_theme_updates();
 	do_action('core_upgrade_preamble');
 	echo '</div>';
 }
@@ -409,9 +411,10 @@
 
 if ( 'upgrade-core' == $action ) {
 
-	wp_version_check();
+	$checked_for_updates = wp_version_check();
 	require_once(ABSPATH . 'wp-admin/admin-header.php');
-	core_upgrade_preamble();
+	
+	core_upgrade_preamble( $checked_for_updates );
 
 } elseif ( 'do-core-upgrade' == $action || 'do-core-reinstall' == $action ) {
 	check_admin_referer('upgrade-core');
Index: wp-includes/update.php
===================================================================
--- wp-includes/update.php	(revision 17246)
+++ wp-includes/update.php	(working copy)
@@ -18,6 +18,7 @@
  * @uses $wp_version Used to check against the newest WordPress version.
  *
  * @return mixed Returns null if update is unsupported. Returns false if check is too soon.
+ * Returns WP_ERROR object if HTTP request failed. Returns true on successful fetch of update information.
  */
 function wp_version_check() {
 	if ( defined('WP_INSTALLING') )
@@ -69,9 +70,9 @@
 	);
 
 	$response = wp_remote_get($url, $options);
-
+	
 	if ( is_wp_error( $response ) )
-		return false;
+		return $response;
 
 	if ( 200 != $response['response']['code'] )
 		return false;
@@ -103,6 +104,7 @@
 	$updates->last_checked = time();
 	$updates->version_checked = $wp_version;
 	set_site_transient( 'update_core',  $updates);
+	return true;
 }
 
 /**
