diff --git a/includes/common.inc b/includes/common.inc
index 3983658..91aa91e 100644
--- a/includes/common.inc
+++ b/includes/common.inc
@@ -983,7 +983,16 @@ function drupal_http_request($url, array $options = array()) {
   $response = preg_split("/\r\n|\n|\r/", $response);
 
   // Parse the response status line.
-  list($protocol, $code, $status_message) = explode(' ', trim(array_shift($response)), 3);
+  list($protocol, $code_status_message) = explode(' ', trim(array_shift($response)), 2);
+  if (strpos($code_status_message, ' ') === FALSE) {
+    // Missing part of the line? Ok, set the status to blank.
+    $code = $code_status_message;
+    $status_message = '';
+  }
+  else {
+    // All as normal.
+    list($code, $status_message) = explode(' ', $code_status_message, 2);
+  }
   $result->protocol = $protocol;
   $result->status_message = $status_message;
 
