diff --git a/core/modules/system/system.module b/core/modules/system/system.module
index 332e559..7183d40 100644
--- a/core/modules/system/system.module
+++ b/core/modules/system/system.module
@@ -3346,8 +3346,10 @@ function system_time_zones($blank = NULL) {
  *  TRUE if this installation can issue HTTP requests.
  */
 function system_check_http_request() {
-  // Try to get the content of the front page via drupal_http_request().
-  $result = drupal_http_request(url('', array('absolute' => TRUE)), array('max_redirects' => 0));
+  global $base_url;
+  // Try to get the content of the front page via drupal_http_request(). Use
+  // a static file to avoid deadlocking single-threaded PHP processes.
+  $result = drupal_http_request($base_url . '/misc/drupal.js', array('max_redirects' => 0));
   // We only care that we get a http response - this means that Drupal
   // can make a http request.
   $works = isset($result->code) && ($result->code >= 100) && ($result->code < 600);
