Index: wp-includes/class-http.php
===================================================================
--- wp-includes/class-http.php	(revision 20345)
+++ wp-includes/class-http.php	(working copy)
@@ -1110,11 +1110,11 @@
 			$theBody = $theResponse;
 
 		// If no response
-		if ( 0 == strlen($theResponse) && empty( $theHeaders ) ) {
-			if ( $curl_error = curl_error($handle) )
-				return new WP_Error('http_request_failed', $curl_error);
-			if ( in_array( curl_getinfo( $handle, CURLINFO_HTTP_CODE ), array(301, 302) ) )
-				return new WP_Error('http_request_failed', __('Too many redirects.'));
+		if ( 0 == strlen( $theResponse ) && empty( $theHeaders->headers ) ) {
+			if ( $curl_error = curl_error( $handle ) )
+				return new WP_Error( 'http_request_failed', $curl_error );
+			if ( in_array( curl_getinfo( $handle, CURLINFO_HTTP_CODE ), array( 301, 302 ) ) )
+				return new WP_Error( 'http_request_failed', __( 'Too many redirects.' ) );
 		}
 
 		$this->headers = '';
