diff --git a/_test/cases/inc/common_pagetemplate.test.php b/_test/cases/inc/common_pagetemplate.test.php
new file mode 100644
index 0000000000000000000000000000000000000000..ecba0f9663fdba6f18c070729451070a77830ffb
--- /dev/null
+++ b/_test/cases/inc/common_pagetemplate.test.php
@@ -0,0 +1,19 @@
+<?php
+
+require_once DOKU_INC.'inc/common.php';
+
+class common_pagetemplate_test extends UnitTestCase {
+
+    function test_none(){
+        global $conf;
+        $conf['sepchar'] = '-';
+        $data = array(
+            'id' => 'page-id-long',
+            'tpl' => '"@PAGE@" "@!PAGE@" "@!!PAGE@" "@!PAGE!@"',
+        );
+        $old = error_reporting(E_ALL & ~E_NOTICE);
+        $this->assertEqual(parsePageTemplate($data), '"page id long" "Page id long" "Page Id Long" "PAGE ID LONG"');
+        error_reporting($old);
+    }
+}
+//Setup VIM: ex: et ts=4 enc=utf-8 :
diff --git a/inc/common.php b/inc/common.php
index 6af7f49dea09575fff58bf33e3b8007758f25988..3e760419f27fbd501c9abcb2c7e9fc2b2e19726b 100644
--- a/inc/common.php
+++ b/inc/common.php
@@ -843,7 +843,7 @@ function parsePageTemplate(&$data) {
 
     // replace placeholders
     $file = noNS($id);
-    $page = strtr($file,'_',' ');
+    $page = strtr($file, $conf['sepchar'], ' ');
 
     $tpl = str_replace(array(
                 '@ID@',