diff --git a/inc/common.php b/inc/common.php
index 3312141c8362d472e82d6e9743664b5fcfe9d589..866e0aaddf396c7c12b83748e62733eaf1bbf186 100644
--- a/inc/common.php
+++ b/inc/common.php
@@ -1625,7 +1625,8 @@ function set_doku_pref($pref, $val) {
     }
 
     if (!empty($cookieVal)) {
-        setcookie('DOKU_PREFS', $cookieVal, time()+365*24*3600, DOKU_BASE, '', ($conf['securecookie'] && is_ssl()));
+        $cookieDir = empty($conf['cookiedir']) ? DOKU_REL : $conf['cookiedir'];
+        setcookie('DOKU_PREFS', $cookieVal, time()+365*24*3600, $cookieDir, '', ($conf['securecookie'] && is_ssl()));
     }
 }
 
diff --git a/lib/exe/js.php b/lib/exe/js.php
index 76238a81b57307da8baa2d87129f0202af592e99..fc7a869c2b5143260c957882588bb1113c43b763 100644
--- a/lib/exe/js.php
+++ b/lib/exe/js.php
@@ -89,6 +89,7 @@ function js_out(){
     // add some global variables
     print "var DOKU_BASE   = '".DOKU_BASE."';";
     print "var DOKU_TPL    = '".tpl_basedir()."';";
+    print "var DOKU_COOKIEPATH = '" . (empty($conf['cookiedir']) ? DOKU_REL : $conf['cookiedir']) . "';";
     // FIXME: Move those to JSINFO
     print "var DOKU_UHN    = ".((int) useHeading('navigation')).";";
     print "var DOKU_UHC    = ".((int) useHeading('content')).";";
diff --git a/lib/scripts/cookie.js b/lib/scripts/cookie.js
index 3ad67bfa4884c40bd4c39a39324436b980c38042..4cb527f26afb6fd1287ca622572ec03b63c0ac8c 100644
--- a/lib/scripts/cookie.js
+++ b/lib/scripts/cookie.js
@@ -30,7 +30,7 @@ var DokuCookie = {
                 text.push(encodeURIComponent(key)+'#'+encodeURIComponent(val));
             }
         });
-        jQuery.cookie(this.name, text.join('#'), {expires: 365, path: DOKU_BASE});
+        jQuery.cookie(this.name, text.join('#'), {expires: 365, path: DOKU_COOKIEPATH});
     },
 
     /**