diff --git a/std/player/viewcmd.c b/std/player/viewcmd.c
index 4f8741e..3b5b982 100644
--- a/std/player/viewcmd.c
+++ b/std/player/viewcmd.c
@@ -19,7 +19,6 @@
 #include <new_skills.h>
 #include <ansi.h>
 #include <notify_fail.h>
-#include <sys_debug.h>
 
 #define NEED_PROTOTYPES
 #include <container.h>
@@ -29,6 +28,9 @@
 #include <living/put_and_get.h>
 #include <player/command.h>
 
+//#define DEBUG(x, y, z) send_debug(x, y, z)
+#define DEBUG(x, y, z)
+
 varargs mixed More(string str, int fflag, string returnto);
 
 void create()
@@ -392,6 +394,7 @@
       }
     } // ref_object exists
   }
+  DEBUG(PL, sprintf("%O\n",ref_object), "get_ref_object:");
   return ref_object;
 }
 
@@ -423,6 +426,8 @@
       // Aber tokens koennte noch ein detail beschreiben, was der Aufrufer an
       // env findet. Also tokens nach detail und env zurueckgeben.
       detail = implode(tokens, " ");
+      DEBUG(PL, sprintf("Env: %O, Detail: %s\n",env, detail),
+                "find_base 1");
       return env;
     }
   }
@@ -485,6 +490,8 @@
   // kein Container gefunden, der durch die tokens beschrieben wurde. Dann
   // kann der Aufrufer noch an/in this_object() oder environment() gucken, ob
   // was zu finden ist.
+  DEBUG(PL, sprintf("Env: %O, Detail: %s\n",env, detail),
+        "find_base 2:");
   return env;
 }
 
@@ -539,6 +546,8 @@
                          int ref_given)
 {
   // ref_objects sind alle in Frage kommenden Kandidaten, an denen wir suchen.
+  DEBUG(PL, sprintf("Refobjekt-Kandidaten: %O\n",ref_objects),
+        "_examine_rec 1:");
 
   // Sodann ein Basisobjekt finden. Das Basisobjekt ist das, was bei einem
   // "detail an parent" durch parent gekennzeichnet wird oder notfalls das
