diff --git a/lib/har.js b/lib/har.js
index <HASH>..<HASH> 100644
--- a/lib/har.js
+++ b/lib/har.js
@@ -46,7 +46,9 @@ function fromPage(page) {
             redirectUrl = object.requestMessage.redirectResponse.url;
         }
         // process headers
-        var requestHeaders = convertHeaders(object.requestMessage.request.headers);
+        var requestHeaders = convertHeaders(
+            object.responseMessage.response.requestHeaders ||
+            object.requestMessage.request.headers);
         var responseHeaders = convertHeaders(object.responseMessage.response.headers);
         // add status line length (12 = "HTTP/1.x" + "  " + "\r\n")
         requestHeaders.size += (object.requestMessage.request.method.length +
Try to fetch request headers from the response

Fall back to the values contained in the `requestWillBeSent` message since
`responseReceived.response.requestHeaders` is marked as optional.

Related to #<I>.