diff --git a/js/eu_cookie_compliance.js b/js/eu_cookie_compliance.js
index f0cd26c..ae26b2b 100644
--- a/js/eu_cookie_compliance.js
+++ b/js/eu_cookie_compliance.js
@@ -349,7 +349,16 @@
 
   Drupal.eu_cookie_compliance.setStatus = function (status) {
     var date = new Date();
+    var ua = window.navigator.userAgent;
+    var msie = ua.indexOf("MSIE ");
+    var ie11 = ua.indexOf("Trident");
     var domain = Drupal.settings.eu_cookie_compliance.domain ? Drupal.settings.eu_cookie_compliance.domain : '';
+    var spnl = domain.indexOf(".sp.nl");
+    // Cross domain cookie support for *.sp.nl
+    // IE & Trident cannot support this so always set te eu_cookie_compliance.domain to the full something.sp.nl subdomain
+    if (msie == -1 && ie11  == -1 && spnl !== -1) {
+        domain = '.sp.nl'; 
+    }
     var path = Drupal.settings.basePath;
     var cookieName = (typeof eu_cookie_compliance_cookie_name === 'undefined' || eu_cookie_compliance_cookie_name === '') ? 'cookie-agreed' : eu_cookie_compliance_cookie_name;
     if (path.length > 1) {
@@ -361,12 +370,12 @@
 
     var cookieSession = parseInt(Drupal.settings.eu_cookie_compliance.cookie_session);
     if (cookieSession) {
-      $.cookie(cookieName, status, { path: path, domain: domain });
+      document.cookie = cookieName + "=" + (status || "") + "; domain=" + domain + "; path=/";
     }
     else {
       var lifetime = parseInt(Drupal.settings.eu_cookie_compliance.cookie_lifetime);
       date.setDate(date.getDate() + lifetime);
-      $.cookie(cookieName, status, { expires: date, path: path, domain: domain });
+      document.cookie = cookieName + "=" + (status || "") + ";" + "expires=" + date + "; domain=" + domain + "; path=/";
     }
     $(document).trigger('eu_cookie_compliance.changeStatus', [status]);