diff --git a/libraries/http_request.inc b/libraries/http_request.inc
index 85e578ec1121cf3249e1bde842a7c5031b5dd29b..e40099951b9604c52659c891e707c28e11297b0c 100644
--- a/libraries/http_request.inc
+++ b/libraries/http_request.inc
@@ -172,14 +172,15 @@ function http_request_get($url, $username = NULL, $password = NULL, $accept_inva
           )), curl_errno($download)
         );
       }
+
       $header_size = curl_getinfo($download, CURLINFO_HEADER_SIZE);
       $header = substr($data, 0, $header_size - 1);
-
       $result->data = substr($data, $header_size);
-      $header_lines = preg_split("/\r\n|\n|\r/", $header);
-
+      $headers = preg_split("/(\r\n){2}/", $header);
+      $header_lines = preg_split("/\r\n|\n|\r/", end($headers));
       $result->headers = array();
       array_shift($header_lines); // skip HTTP response status
+
       while ($line = trim(array_shift($header_lines))) {
         list($header, $value) = explode(':', $line, 2);
         // Normalize the headers.