diff --git a/secure/config.h b/secure/config.h
index e4d5b8d..b122002 100644
--- a/secure/config.h
+++ b/secure/config.h
@@ -42,7 +42,6 @@
 #define MAILPATH        "mail/"
 #define NEWSPATH        "news/"
 #define NEWSSERVER      "secure/news"
-#define SECURESAVEPATH  "secure/save/"
 #define COMBAT_MASTER   "secure/combat"
 
 #define WIZARDDIR       "players"
@@ -65,6 +64,7 @@
 #define LIBDATADIR      "data"
 #define LIBSAVEDIR      "/"LIBDATADIR"/save"
 #define SAVEPATH        LIBSAVEDIR"/"
+#define SECURESAVEPATH  "/"LIBDATADIR"/"SECUREDIR"/save/"
 #define LIBITEMDIR      "items"
 
 #define NETDEAD_ROOM "/room/netztot"
diff --git a/secure/master/userinfo.c b/secure/master/userinfo.c
index e918173..1bc5afc 100644
--- a/secure/master/userinfo.c
+++ b/secure/master/userinfo.c
@@ -75,9 +75,9 @@
       m_delete(ftpuser,u);
       continue;
     }
-    int zeit = call_sefun("file_time",
-                     "/"SECURESAVEPATH + u[0..0] + "/" + u + ".o");
-    if (zeit < time()-1209600) {
+    int zeit = call_sefun("file_time",secure_savefile(u)+".o");
+    if (zeit < time()-1209600)
+    {
       m_delete(ftpuser,u);
       continue;
     }
@@ -585,10 +585,10 @@
   if(!name||name=="")
     return "";
   name=explode(name,".")[0];
-  if (file_size("/"LIBDATADIR"/"SECURESAVEPATH+name[0..0]+"/"+name+".o")>=0)
-    return "/"LIBDATADIR"/"SECURESAVEPATH+name[0..0]+"/"+name;
-  else if (file_size(SECURESAVEPATH+name[0..0]+"/"+name+".o")>=0)
+  if (file_size(SECURESAVEPATH+name[0..0]+"/"+name+".o")>=0)
     return SECURESAVEPATH+name[0..0]+"/"+name;
+  else if (file_size("/"LIBDATADIR"/"SECURESAVEPATH+name[0..0]+"/"+name+".o")>=0)
+    return "/"SECUREDIR"/save/"+name[0..0]+"/"+name;
 
   return "";
 }
@@ -964,12 +964,13 @@
   if(!fptips) fptips="";
   uidstotakecare=userlist[name,USER_UIDS_TO_TAKE_CARE];
 
-  if (save_object(SECURESAVEPATH+name[0..0]+"/"+name) != 0) {
+  string ssavef=secure_savefile(name);
+  if (save_object(ssavef) != 0) {
     // autsch. Buggen damit dieser moeglichst schnell auffaellt, dass hier
     // Savefiles in /secure/save/ nicht geschrieben wurden.
     raise_error(sprintf(
           "Savefile %O konnte nicht erstellt werden!\n",
-          SECURESAVEPATH+name[0..0]+"/"+name));
+          ssavef));
   }
 }
 
