diff --git a/includes/common.inc b/includes/common.inc
index 8755c94..050ef2e 100644
--- a/includes/common.inc
+++ b/includes/common.inc
@@ -835,13 +835,6 @@ function drupal_http_request($url, array $options = array()) {
     // clash with the HTTP status codes.
     $result->code = -$errno;
     $result->error = trim($errstr) ? trim($errstr) : t('Error opening socket @socket', array('@socket' => $socket));
-
-    // Mark that this request failed. This will trigger a check of the web
-    // server's ability to make outgoing HTTP requests the next time that
-    // requirements checking is performed.
-    // See system_requirements().
-    variable_set('drupal_http_request_fails', TRUE);
-
     return $result;
   }
 
diff --git a/modules/aggregator/aggregator.admin.inc b/modules/aggregator/aggregator.admin.inc
index 9f92a67..f5fb5ee 100644
--- a/modules/aggregator/aggregator.admin.inc
+++ b/modules/aggregator/aggregator.admin.inc
@@ -326,6 +326,9 @@ function aggregator_form_opml_submit($form, &$form_state) {
     if (!isset($response->error)) {
       $data = $response->data;
     }
+    else {
+      watchdog('aggregator', 'HTTP request to @url failed with error: @error', array('@url' => $form_state['values']['remote'], '@error' => $response->error));
+    }
   }
 
   $feeds = _aggregator_parse_opml($data);
diff --git a/modules/system/system.admin.inc b/modules/system/system.admin.inc
index e9682e7..027b579 100644
--- a/modules/system/system.admin.inc
+++ b/modules/system/system.admin.inc
@@ -2229,6 +2229,9 @@ function system_clean_url_settings($form, &$form_state) {
       }
     }
     else {
+      if ($request->error) {
+        watchdog('system', 'HTTP request for Clean URLs failed with error: @error', array('@error' => $result->error));
+      }
       // If the test failed while clean URLs are enabled, make sure clean URLs
       // can be disabled.
       if (variable_get('clean_url', 0)) {
diff --git a/modules/system/system.install b/modules/system/system.install
index ad15851..87ed9fa 100644
--- a/modules/system/system.install
+++ b/modules/system/system.install
@@ -474,16 +474,6 @@ function system_requirements($phase) {
       );
     }
     $requirements['update status']['title'] = $t('Update notifications');
-
-    // Check that Drupal can issue HTTP requests.
-    if (variable_get('drupal_http_request_fails', TRUE) && !system_check_http_request()) {
-      $requirements['http requests'] = array(
-        'title' => $t('HTTP request status'),
-        'value' => $t('Fails'),
-        'severity' => REQUIREMENT_ERROR,
-        'description' => $t('Your system or network configuration does not allow Drupal to access web pages, resulting in reduced functionality. This could be due to your webserver configuration or PHP settings, and should be resolved in order to download information about available updates, fetch aggregator feeds, sign in via OpenID, or use other network-dependent services. If you are certain that Drupal can access web pages but you are still seeing this message, you may add <code>$conf[\'drupal_http_request_fails\'] = FALSE;</code> to the bottom of your settings.php file.'),
-      );
-    }
   }
 
   return $requirements;
diff --git a/modules/update/update.fetch.inc b/modules/update/update.fetch.inc
index ee5d77b..ae0ee19 100644
--- a/modules/update/update.fetch.inc
+++ b/modules/update/update.fetch.inc
@@ -142,9 +142,12 @@ function _update_process_fetch_task($project) {
   $project_name = $project['name'];
 
   if (empty($fail[$fetch_url_base]) || $fail[$fetch_url_base] < $max_fetch_attempts) {
-    $xml = drupal_http_request($url);
-    if (!isset($xml->error) && isset($xml->data)) {
-      $data = $xml->data;
+    $result = drupal_http_request($url);
+    if (isset($result->error)) {
+      watchdog('update', 'HTTP request to @url failed with error: @error.', array('@url' => $url, '@error' => $result->error));
+    }
+    elseif (!isset($result->error) && isset($result->data)) {
+      $data = $result->data;
     }
   }
 
