diff --git a/secure/simul_efun/seteuid.c b/secure/simul_efun/seteuid.c
index 516a759..1318b8d 100644
--- a/secure/simul_efun/seteuid.c
+++ b/secure/simul_efun/seteuid.c
@@ -8,19 +8,38 @@
 
 int seteuid(string str)
 {
-    object ob = efun::previous_object();
-
-    if (!str)
+    object|lwobject ob = efun::previous_object();
+    if(objectp(ob))
     {
-        efun::configure_object(ob, OC_EUID, 0);
+        if (!str)
+        {
+            efun::configure_object(ob, OC_EUID, 0);
+            return 1;
+        }
+
+        if (efun::call_direct(__MASTER_OBJECT__, "valid_seteuid", ob, str) != 1)
+            return 0;
+
+        efun::configure_object(ob, OC_EUID, str);
         return 1;
     }
+    else if (lwobjectp(ob))
+    {
+        if (!str)
+        {
+            efun::configure_lwobject(ob, LC_EUID, 0);
+            return 1;
+        }
 
-    if (efun::call_direct(__MASTER_OBJECT__, "valid_seteuid", ob, str) != 1)
-        return 0;
+        if (efun::call_direct(__MASTER_OBJECT__, "privilege_violation", 
+                "configure_lwobject", ob, ob, LC_EUID, str) != 1)
+            return 0;
 
-    efun::configure_object(ob, OC_EUID, str);
-    return 1;
+        efun::configure_lwobject(ob, LC_EUID, str);
+        return 1;
+
+    }
+    return 0;
 }
 
 #endif
