diff --git a/d/seher/haeuser/haus.c b/d/seher/haeuser/haus.c
index d429789..c34d279 100644
--- a/d/seher/haeuser/haus.c
+++ b/d/seher/haeuser/haus.c
@@ -70,7 +70,6 @@
   AddCmd( ({"beschreib", "beschreibe"}), "beschreiben");
   AddCmd( ({"aender", "aendere"}), "aendern");
   AddCmd( ({"klopf","klopfe"}), "klopfen");
-  AddCmd("verbiete", "verbieten");
   AddCmd("notiz", "merktext");
 }
 
@@ -137,7 +136,7 @@
 }
 
 // liefert den Name des Haus-Besitzers
-string QueryOwner() { return owner; }
+varargs string QueryOwner(int withNr) { return owner; }
 
 private int tp_ownercheck()
 {
diff --git a/d/seher/haeuser/haus.h b/d/seher/haeuser/haus.h
index 84c087c..8084685 100644
--- a/d/seher/haeuser/haus.h
+++ b/d/seher/haeuser/haus.h
@@ -20,7 +20,7 @@
 
 /*** Pfade ***/
 #define HAEUSERPFAD     "/d/seher/haeuser/"
-#define HAUSSAVEPATH	HAEUSERPFAD+"save/"
+#define HAUSSAVEPATH	"/data"+HAEUSERPFAD+"save/"
 #define SPECIALPATH	HAEUSERPFAD+"special/"
 #define VERWALTER	(HAEUSERPFAD+"hausverwalter")
 #define HAUS		HAEUSERPFAD+"haus"
@@ -115,7 +115,7 @@
 
 varargs void Save(int crunched);
 void Load();
-string QueryOwner();
+varargs string QueryOwner(int withNr);
 varargs string SetOwner(string o, int nr);
 protected void AddExitNoCheck(mixed cmd, mixed dest);
 void RemoveExitNoCheck(mixed cmd);
diff --git a/d/seher/haeuser/modules/losa.c b/d/seher/haeuser/modules/losa.c
index 84cd6a5..b078f57 100644
--- a/d/seher/haeuser/modules/losa.c
+++ b/d/seher/haeuser/modules/losa.c
@@ -67,7 +67,7 @@
 void
 reset()
 {
-  if (QueryOwner() &&
+  if (QueryOwner(0) &&
       !sizeof(filter(all_inventory(),#'interactive)) &&
       !csaved)
     Save(1);
@@ -129,7 +129,7 @@
          " broken) objects in room "+
          object_name(this_object()) + ".");
 
-  save_object( HAUSSAVEPATH+QueryOwner());
+  save_object( HAUSSAVEPATH+QueryOwner(1));
 
   Set(P_DETAILS, o1, F_VALUE);
   Set(P_READ_DETAILS, o2, F_VALUE);
@@ -143,7 +143,7 @@
   mixed prop;
   int i;
 
-  restore_object( HAUSSAVEPATH+QueryOwner());
+  restore_object( HAUSSAVEPATH+QueryOwner(1));
 
   // Details und Kommandos werden beim Speichern de-dupliziert und in einem
   // speziellen Format abgespeichert (s. PCrunch() im Hausverwalter). Sie
@@ -217,7 +217,7 @@
   {
     if (Query(H_CHEST))
       this_object()->AddItem(PATH+"truhe",REFRESH_NONE,
-                             ([ "owner" : QueryOwner() ]));
+                             ([ "owner" : QueryOwner(0) ]));
 /* Das scheint nirgendwo benutzt zu werden und in allen Seherhaeusern leer zu
  * sein.
     mapping special = Query(H_SPECIAL, F_VALUE);
@@ -258,7 +258,7 @@
         broken_furniture+=([file:data]);
         log_file("seher/haeuser/autoloader_error",
                  dtime(time())+"\n"+
-                 break_string(object_name(this_object())+" ("+QueryOwner()+")",78, " FILE: ",1)+
+                 break_string(object_name(this_object())+" ("+QueryOwner(1)+")",78, " FILE: ",1)+
                  break_string(message, 78, " MSG:  ",1)+
                  break_string(sprintf("%O", data),78, " DATA: ",1)+"\n");
                  
