Index: wp-admin/includes/dashboard.php
===================================================================
--- wp-admin/includes/dashboard.php	(revision 18138)
+++ wp-admin/includes/dashboard.php	(working copy)
@@ -27,7 +27,7 @@
 
 	$response = wp_check_browser_version();
 
-	if ( $response['upgrade'] ) {
+	if ( $response && $response['upgrade'] ) {
 		add_filter( 'postbox_classes_dashboard_dashboard_browser_nag', 'dashboard_browser_nag_class' );
 		if ( $response['insecure'] )
 			wp_add_dashboard_widget( 'dashboard_browser_nag', __( 'You are using an insecure browser!' ), 'wp_dashboard_browser_nag' );
@@ -1162,7 +1162,7 @@
 	$notice = '';
 	$response = wp_check_browser_version();
 
-	if ( $response['insecure'] ) {
+	if ( $response && $response['insecure'] ) {
 		$msg = sprintf( __( 'It looks like you\'re using an insecure version of <a href="%1$s">%2$s</a>. Using an outdated browser makes your computer unsafe.  For the best WordPress experience, please update your browser.' ), esc_attr( $response['update_url'] ), esc_html( $response['name'] ) );
 	} else {
 		$msg = sprintf( __( 'It looks like you\'re using an old version of <a href="%1$s">%2$s</a>. Using an outdated browser makes your computer unsafe.  For the best WordPress experience, please update your browser.' ), esc_attr( $response['update_url'] ), esc_html( $response['name'] ) );
@@ -1186,7 +1186,7 @@
 function dashboard_browser_nag_class( $classes ) {
 	$response = wp_check_browser_version();
 
-	if ( $response['insecure'] )
+	if ( $response && $response['insecure'] )
 		$classes[] = 'browser-insecure';
 
 	return $classes;
@@ -1195,9 +1195,13 @@
 /**
  * Check if the user needs a browser update
  *
- * @since 3.2
+ * @since 3.2.0
+ * @return array|bool Response array from api.wordpress.org or false on failure.
  */
 function wp_check_browser_version() {
+	if ( ! isset( $_SERVER['HTTP_USER_AGENT'] ) )
+		return false;
+
 	$key = md5( $_SERVER['HTTP_USER_AGENT'] );
 
 	if ( false === ($response = get_site_transient('browser_' . $key) ) ) {
@@ -1215,7 +1219,7 @@
 
 		/**
 		 * Response should be an array with:
-		 *  'name' - string- A user friendly browser name
+		 *  'name' - string - A user friendly browser name
 		 *  'version' - string - The most recent version of the browser
 		 *  'current_version' - string - The version of the browser the user is using
 		 *  'upgrade' - boolean - Whether the browser needs an upgrade
@@ -1227,7 +1231,7 @@
 		$response = unserialize( wp_remote_retrieve_body( $response ) );
 
 		if ( ! $response )
-			return;
+			return false;
 
 		set_site_transient( 'browser_' . $key, $response, 604800 ); // cache for 1 week
 	}
