diff --git a/std/container/items.c b/std/container/items.c
index 9f2191e..08bad24 100644
--- a/std/container/items.c
+++ b/std/container/items.c
@@ -101,14 +101,14 @@
   {
     for(i=sizeof(filename);i--;)
     {
-      filename[i] = (string)master()->_get_path( filename[i], "?" );
+      filename[i] = (string)master()->make_path_absolute( filename[i] );
     }
       
     file=filename[random(sizeof(filename))];
   }
   else 
   {
-    file=filename=(string)master()->_get_path(filename,"?");
+    file=filename=(string)master()->make_path_absolute(filename);
   }
   
   if(props==1)
@@ -213,12 +213,12 @@
   {
     foreach(string fn: &filename)
     {
-      fn=master()->_get_path(fn,"?");
+      fn=master()->make_path_absolute(fn);
     }
   }
   else
   {
-    filename=master()->_get_path( filename,"?");
+    filename=master()->make_path_absolute( filename );
   }
   
   SetProp(P_ITEMS,filter(items, #'ri_filter/*'*/,filename));
diff --git a/std/npc/items.c b/std/npc/items.c
index f0260cf..c879768 100644
--- a/std/npc/items.c
+++ b/std/npc/items.c
@@ -214,15 +214,15 @@
   // Aus Array ein Element auswaehlen
   if (pointerp(filename)) 
     filename = filename[random(sizeof(filename))];
- 
+
   // Kein String? -> Fehler
   if (!stringp(filename)){
     raise_error("AddItem: filename or array of filenames expected.\n"); 
   } else {
     // Pfad normieren und eventuell vorhandenes ".c" entfernen
-    filename = MASTER->_get_path(
+    filename = master()->make_path_absolute(
                   filename[<2..]==".c"?filename=filename[0..<3]
-                                        : filename,"?"); 
+                                        : filename);
     // Property setzen
     SetProp(P_ITEMS, (QueryProp(P_ITEMS)||({}))+
                      ({ ({ 0, filename, refresh, props }) }));
diff --git a/std/room/exits.c b/std/room/exits.c
index b5c352b..3d8b120 100644
--- a/std/room/exits.c
+++ b/std/room/exits.c
@@ -325,21 +325,23 @@
 
 static string _MakePath( string str )
 {
-  string *comp;
+   string *comp = explode( object_name(this_object()), "/" ) - ({""});
 
-  comp = explode( object_name(this_object()), "/" ) - ({""});
-  
-   switch( str[0] ){
+   switch( str[0] )
+   {
    case '.':
        str = "/" + implode( comp[0..<2], "/" ) + "/" + str;
        break;
-       
+
+   // Konstruiert einen Pfad relativ zu /players/REAL_UID bzw.
+   // /d/<region>/REAL_UID/.
    case '~':
        str = "/" + comp[0] + "/" + (comp[0] == "d" ? comp[1] + "/" : "")
            +REAL_UID(this_object()) + str[1..];
        break;
    }
-   
-   return MASTER->_get_path( str, getuid(this_object()) );
+   // macht den Pfad absolut und halbwegs "sane", loest .. im Pfad auf.
+   // Beruecksichtigt KEINE weiteren Platzhalter.
+   return master()->make_path_absolute(str);
 }
 
