diff --git a/background.js b/background.js
index 1ddeacbe2467443649ae8dc51a29e2591c763b7f..5a7492b3ad88688a002b8f178278be00f2656c98 100644
--- a/background.js
+++ b/background.js
@@ -13,6 +13,7 @@
 let config;
 let started = 'off';
 let debug_mode = false;
+const isChrome = (navigator.userAgent.indexOf("chrome")!==-1);
 
 loadFromBrowserStorage(['config','started'],function(result) {
 
@@ -229,13 +230,29 @@ function notify(message) {
 function addListener() {
   let target = config.target_page;
   if ((target==="*")||(target==="")||(target===" ")) target="<all_urls>";
-  chrome.webRequest.onBeforeSendHeaders.addListener(rewriteRequestHeader,
+  
+  // need to had "extraHeaders" option for chrome https://developer.chrome.com/extensions/webRequest
+  if (isChrome)
+  {
+	chrome.webRequest.onBeforeSendHeaders.addListener(rewriteRequestHeader,
                                           {urls: target.split(";")},
-                                          ["blocking", "requestHeaders"]);
+                                          ["blocking", "requestHeaders","extraHeaders"]);
 
-  chrome.webRequest.onHeadersReceived.addListener(rewriteResponseHeader,
+	chrome.webRequest.onHeadersReceived.addListener(rewriteResponseHeader,
+                                          {urls: target.split(";")},
+                                          ["blocking", "responseHeaders","extraHeaders"]);
+  }
+  
+  else
+  {
+	  chrome.webRequest.onBeforeSendHeaders.addListener(rewriteRequestHeader,
+                                          {urls: target.split(";")},
+                                          ["blocking", "requestHeaders"]);
+	  chrome.webRequest.onHeadersReceived.addListener(rewriteResponseHeader,
                                           {urls: target.split(";")},
                                           ["blocking", "responseHeaders"]);
+  }
+  
 }