diff --git a/lib/interceptor.js b/lib/interceptor.js
index 4c019958bd3bb3e19265df9c89f37ef4355b4d68..89f669db7a6339aa8a6b15d5277ff024833494d8 100644
--- a/lib/interceptor.js
+++ b/lib/interceptor.js
@@ -25,6 +25,8 @@ var { Cc, Ci, Cr } = require('chrome');
 var observerService = Cc['@mozilla.org/observer-service;1']
     .getService(Ci.nsIObserverService);
 
+var preferences = require('sdk/simple-prefs').prefs;
+
 var requestAnalyzer = require('./request-analyzer');
 var dataHandler = require('./data-handler');
 
@@ -84,15 +86,13 @@ var Interceptor = new Class({
         httpChannel.redirectTo(redirectionURI);
 
         //noinspection JSUnresolvedVariable
-        require('sdk/simple-prefs').prefs.amountInjected++;
+        preferences.amountInjected++;
     },
 
     handleMissingCandidate: function (httpChannel) {
 
         //noinspection JSUnresolvedVariable
-        var blockMissing = require('sdk/simple-prefs').prefs.blockMissing;
-
-        if (blockMissing) {
+        if (preferences.blockMissing) {
             httpChannel.cancel(Cr.NS_ERROR_NOT_AVAILABLE);
         }
     }
diff --git a/lib/request-analyzer.js b/lib/request-analyzer.js
index 15616e7f2784bc66f06e79127c6e031114a6a5a3..2120b21a2da95395b54ece36e0771fd51b52323c 100644
--- a/lib/request-analyzer.js
+++ b/lib/request-analyzer.js
@@ -17,6 +17,8 @@
  * Imports
  */
 
+var preferences = require('sdk/simple-prefs').prefs;
+
 /**
  * Resource version mappings.
  * @var {object} mappings
@@ -34,18 +36,25 @@ function isValidCandidate(httpChannel) {
     }
 
     //noinspection JSUnresolvedVariable
-    var whitelistedDomains = require('sdk/simple-prefs').prefs.domainWhitelist.split(";");
+    var domainWhitelist = preferences.domainWhitelist;
+
+    if (domainWhitelist.length > 0 && httpChannel.referrer) {
 
-    if (httpChannel.referrer) {
+        var whitelistedDomains = domainWhitelist.split(';');
 
         for (var domain in whitelistedDomains) {
 
-            if (whitelistedDomains[domain] === httpChannel.referrer.host) {
+            if (whitelistedDomains.hasOwnProperty(domain)) {
+
+                if (whitelistedDomains[domain] === httpChannel.referrer.host ||
+                    'www.' + whitelistedDomains[domain] === httpChannel.referrer.host) {
+
+                    // Remove referer header from request.
+                    httpChannel.setRequestHeader('Referer', null, false);
 
-                // Remove referer header from request.
-                httpChannel.setRequestHeader('Referer', null, false);
+                    return false;
+                }
 
-                return false;
             }
         }
     }