diff --git a/lib/transforms/parse_link_header.js b/lib/transforms/parse_link_header.js
index <HASH>..<HASH> 100644
--- a/lib/transforms/parse_link_header.js
+++ b/lib/transforms/parse_link_header.js
@@ -9,8 +9,12 @@ var errorModule = require('../errors')
   , createError = errorModule.createError;
 
 module.exports = function parseLinkHeader(t) {
-  if (!t.step.response.headers.link || !t.step.doc)
+  if (!t.step.doc ||
+      !t.step.response ||
+      !t.step.response.headers ||
+      !t.step.response.headers.link) {
     return true;
+  }
 
   try {
     var links = parse(t.step.response.headers.link);
t.step.response does not always exist (#<I>)