diff --git a/secure/simul_efun/livings.c b/secure/simul_efun/livings.c
index 2d0ffde..355984d 100644
--- a/secure/simul_efun/livings.c
+++ b/secure/simul_efun/livings.c
@@ -23,21 +23,28 @@
     netdead = wizinfo[NETDEAD_MAP] = ([]);
 }
 
-public varargs string getuuid( object ob )
+public varargs string getuuid( object|string ob )
 {
-  if ( !objectp(ob) )
-     ob = previous_object();
+  string uid;
+  if (stringp(ob))
+    uid = ob;
+  else
+  {
+    if ( !objectp(ob) )
+      ob = previous_object();
+    uid = getuid(ob);
+  }
 
-  if ( !query_once_interactive(ob) )
-     return getuid(ob);
-
-  int creation = master()->query_userlist(getuid(ob), USER_CREATION_DATE);
+  // sollte <uid> kein Spieler-UID sein (keine Spieler-UID uebergeben oder
+  // !query_once_interactive(ob)), ist creation 0 und es wird die <uid>
+  // unveraendert zurueckgeben.
+  int creation = master()->query_userlist(uid, USER_CREATION_DATE);
 
   if (!intp(creation))
-     return getuid(ob);
+     return uid;
 
   // Username + "_" + CreationDate
-  return getuid(ob) + "_" + creation;
+  return uid + "_" + creation;
 }
 
 void set_object_living_name(string livname, object obj)
