diff --git a/obj/vitem_proxy.c b/obj/vitem_proxy.c
index 87e0e0d..5a957e3 100644
--- a/obj/vitem_proxy.c
+++ b/obj/vitem_proxy.c
@@ -3,8 +3,11 @@
 inherit "/std/container";
 #include <moving.h>
 
+object cloner;
+
 protected void create()
 {
+  cloner=previous_object();
   ::create();
   // Das Objekt raeumt sich selber im reset auf. (D.h. kein Env-Check)
   SetAutoObject(1);
@@ -34,3 +37,15 @@
   return ME_NOT_ALLOWED;
 }
 
+public object *AllVirtualEnvironments()
+{
+  if (cloner)
+  {
+    object *cloner_envs = all_environment(cloner)
+                          || cloner->AllVirtualEnvironments();
+    if (cloner_envs)
+      return ({cloner}) + cloner_envs;
+    return ({cloner});
+  }
+  return 0;
+}
diff --git a/obj/vitem_shadow.c b/obj/vitem_shadow.c
index 6599288..fcb8e2d 100644
--- a/obj/vitem_shadow.c
+++ b/obj/vitem_shadow.c
@@ -19,9 +19,11 @@
 // Zielobjekt beschattet.
 mapping props;
 
+object cloner;
 
 protected void create()
 {
+  cloner=previous_object();
   set_next_reset(7200);
 }
 
@@ -341,4 +343,16 @@
   return ::locate_objects(complex_desc, info);
 }
 
+public object *AllVirtualEnvironments()
+{
+  if (cloner)
+  {
+    object *cloner_envs = all_environment(cloner)
+                          || cloner->AllVirtualEnvironments();
+    if (cloner_envs)
+      return ({cloner}) + cloner_envs;
+    return ({cloner});
+  }
+  return 0;
+}
 
