diff --git a/inc/pageutils.php b/inc/pageutils.php
index ef82eebcd897a386337f379cb92bcfe056824cd0..ca4936a827a56f42f479d6965f72fd29c1b62322 100644
--- a/inc/pageutils.php
+++ b/inc/pageutils.php
@@ -115,11 +115,10 @@ function cleanID($raw_id,$ascii=false,$media=false){
     $id = utf8_strtolower($id);
 
     //alternative namespace seperator
-    $id = strtr($id,';',':');
     if($conf['useslash']){
-        $id = strtr($id,'/',':');
+        $id = strtr($id,';/','::');
     }else{
-        $id = strtr($id,'/',$sepchar);
+        $id = strtr($id,';/',':'.$sepchar);
     }
 
     if($conf['deaccent'] == 2 || $ascii) $id = utf8_romanize($id);
diff --git a/inc/parser/renderer.php b/inc/parser/renderer.php
index 2c78f220a01da16b7e3f77ecc9c918e4658d0213..7df369478b6787eec3777ab79daad475e2ce2fd1 100644
--- a/inc/parser/renderer.php
+++ b/inc/parser/renderer.php
@@ -274,9 +274,10 @@ class Doku_Renderer extends DokuWiki_Plugin {
         list($name,$hash) = explode('#',$name,2);
         if($hash) return $hash;
 
-        $name = strtr($name,';',':');
         if($conf['useslash']){
-            $name = strtr($name,'/',':');
+            $name = strtr($name,';/',';:');
+        }else{
+            $name = strtr($name,';',':');
         }
 
         return noNSorNS($name);