diff --git a/lib/plugins/safefnrecode/action.php b/lib/plugins/safefnrecode/action.php
index 4fa5530df6e77e89f29190d043c7be0f42e9ab6b..76d02e4c75ec671c124e960d678acd5584b9ebae 100644
--- a/lib/plugins/safefnrecode/action.php
+++ b/lib/plugins/safefnrecode/action.php
@@ -56,7 +56,7 @@ class action_plugin_safefnrecode extends DokuWiki_Action_Plugin {
             if($file == '.' || $file == '..') continue;           # cur and upper dir
             if(is_dir("$dir/$file")) $this->recode("$dir/$file"); #recurse
             if(strpos('%',$file) === false) continue;             # no encoding used
-            $new = preg_replace('/(%.*?)\./','\1]',$file);        # new post indicator
+            $new = preg_replace('/(%[^\]]*?)\./','\1]',$file);    # new post indicator
             if(preg_match('/%[^\]]+$/',$new)) $new .= ']';        # fix end FS#2122
             rename("$dir/$file","$dir/$new");                     # rename it
         }