diff --git a/std/thing/properties.c b/std/thing/properties.c
index 6fd670d..ee48a52 100644
--- a/std/thing/properties.c
+++ b/std/thing/properties.c
@@ -75,7 +75,7 @@
       // Eigentlich nur vom jeweils aktiven simul_efun-Objekt gerufen, aber
       // der einfacheit halber sind alle ROOT-Objekte erlaubt. Aber nur
       // direkten Caller pruefen, *nicht* ROOT_SECURITY!
-      if (get_euid(previous_object()) == ROOTID)
+      if (geteuid(previous_object()) == ROOTID)
         return 1;
 
     case SECURED_DELETE:
@@ -412,8 +412,8 @@
   // 2 Werte pro Prop (Wert + Modusflags) speichern
   // F_SET_METHOD, F_QUERY_METHOD werden nicht gespeichert.
   // Anzahl gespeicherter Props raten, 20% der Props mit Modusflags
-  properties = m_allocate(sizeof(props[F_MODE])/5, 2);
-  foreach(string pname, int mode: props[F_MODE])
+  properties = m_allocate(sizeof(prop[F_MODE])/5, 2);
+  foreach(string pname, int mode: prop[F_MODE])
   {
     if (mode & SAVE)
     {
@@ -421,7 +421,7 @@
       // nicht gespeichert)
       properties[pname, F_MODE] = mode &
             (~(SETMNOTFOUND|QUERYMNOTFOUND|QUERYCACHED|SETCACHED|SETMAPPED));
-      properties[pname, F_VALUE] = props[F_VALUE][pname];
+      properties[pname, F_VALUE] = prop[F_VALUE][pname];
     }
   }
 }
@@ -444,12 +444,12 @@
   // schreiben.
   foreach(string pname, mixed value, int mode: properties)
   {
-    props[F_VALUE][pname] = value;
+    prop[F_VALUE][pname] = value;
     // mode aus dem Savefile wird uebernommen, ausser SETMAPPED, was vom
     // bisher gueltigem mode uebernommen werden muss.
-    if (props[F_MODE][pname] & SETMAPPED)
+    if (prop[F_MODE][pname] & SETMAPPED)
       mode &= SETMAPPED;
-    props[F_MODE][pname] = mode;
+    prop[F_MODE][pname] = mode;
     // F_SET_METHOD und F_QUERY_METHOD werden beibehalten, sollten sie vor dem
     // restore bereits gesetzt sein. Aus dem Savefile kommen beide nie.
   }
