diff --git a/secure/mailer.c b/secure/mailer.c
index c4f7665..b3d854f 100644
--- a/secure/mailer.c
+++ b/secure/mailer.c
@@ -65,6 +65,7 @@
 
 #include <config.h>
 #include <mail.h>
+#include <files.h>
 #include <wizlevels.h>
 
 // debugging
@@ -122,6 +123,13 @@
             if ( sscanf( tmp[i], "%s %s", s1, s2 ) == 2 )
                 alias[s1] = s2;
     }
+    
+    // Ggf. Ordner erstellen.
+    if(file_size(MAILPATH)==FSIZE_NOFILE)
+    {
+        // LIBDATADIR wird vom Master erstellt, ist also schon vorhanden.
+        mkdir(MAILPATH);
+    }
 }
 
 
diff --git a/secure/master.c b/secure/master.c
index 3d88928..0f25533 100644
--- a/secure/master.c
+++ b/secure/master.c
@@ -65,8 +65,16 @@
 protected void inaugurate_master(int arg) {
 
   set_driver_hook(H_REGEXP_PACKAGE, RE_TRADITIONAL);
-  
+
   efun::configure_object(this_object(), OC_EUID, ROOTID);
+
+  // Bei Neustart wizinfo initialisieren und ggf. Ordner in /data erstellen.
+  if (!arg)
+  {
+    set_extra_wizinfo(0, allocate(BACKBONE_WIZINFO_SIZE));
+    CreateDataDirectories();
+  }
+
   userinfo::create();
   LoadPLDenylists();
 
@@ -77,11 +85,7 @@
   ReloadBanishFile();
   ReloadDeputyFile();
   ReloadInsecureFile();
- 
-  // Bei Neustart wizinfo initialisieren
-  if (!arg)
-    set_extra_wizinfo(0, allocate(BACKBONE_WIZINFO_SIZE));
-  
+
   //simul_efun.c nach inaugurate_master() starten und initialisieren, 
   //(so richtig seh ich den Sinn hier momentan nicht ein...
   //call_out("start_simul_efun",0);
diff --git a/secure/master/misc.c b/secure/master/misc.c
index d8a1f39..5a29276 100644
--- a/secure/master/misc.c
+++ b/secure/master/misc.c
@@ -10,6 +10,7 @@
 #include "/sys/lpctypes.h"
 #include "/sys/object_info.h"
 #include "/sys/interactive_info.h"
+#include "/sys/files.h"
 
 #include "/secure/master.h"
 #include "/mail/post.h"
@@ -773,3 +774,31 @@
   rename("log/call_out_stop","log/call_out_stop.old");
 }
 
+protected void CreateDataDirectories()
+{
+  if(file_size("/"LIBDATADIR)==FSIZE_NOFILE)
+  {
+    mkdir("/"LIBDATADIR);
+  }
+
+  if(file_size(SAVEPATH)==FSIZE_NOFILE)
+  {
+    mkdir(SAVEPATH);
+    // Die Ordner von a bis z erstellen
+    foreach(int n : 'a'..'z')
+    {
+      mkdir(sprintf(SAVEPATH+"%c",n));
+    }
+  }
+
+  if(file_size(SECURESAVEPATH)==FSIZE_NOFILE)
+  {
+    mkdir("/"LIBDATADIR"/"SECUREDIR);
+    mkdir(SECURESAVEPATH);
+    // Die Ordner von a bis z erstellen
+    foreach(int n : 'a'..'z')
+    {
+      mkdir(sprintf(SECURESAVEPATH+"%c",n));
+    }
+  }
+}
