diff --git a/lib/request-analyzer.js b/lib/request-analyzer.js
index b01e0acc8393fa6d59858c864d34d9e360b53cce..15616e7f2784bc66f06e79127c6e031114a6a5a3 100644
--- a/lib/request-analyzer.js
+++ b/lib/request-analyzer.js
@@ -36,14 +36,17 @@ function isValidCandidate(httpChannel) {
     //noinspection JSUnresolvedVariable
     var whitelistedDomains = require('sdk/simple-prefs').prefs.domainWhitelist.split(";");
 
-    for (var domain in whitelistedDomains) {
+    if (httpChannel.referrer) {
 
-        if (whitelistedDomains[domain] === httpChannel.referrer.host) {
+        for (var domain in whitelistedDomains) {
 
-            // Remove referer header from request.
-            httpChannel.setRequestHeader('Referer', null, false);
+            if (whitelistedDomains[domain] === httpChannel.referrer.host) {
 
-            return false;
+                // Remove referer header from request.
+                httpChannel.setRequestHeader('Referer', null, false);
+
+                return false;
+            }
         }
     }