diff --git a/p/daemon/channeld.c b/p/daemon/channeld.c
index 29e3f14..60254f7 100644
--- a/p/daemon/channeld.c
+++ b/p/daemon/channeld.c
@@ -1236,13 +1236,16 @@
   // Objekt <pl> muss auf dieser Ebene senden duerfen, damit der Ebenenname
   // in das Suchergebnis aufgenommen wird.
   string* chs = filter(m_indices(channels), function int (string ch_n) {
-                 /* funcall() auf Closure-Operator, um einen neuen Eintrag
-                    im Caller Stack zu erzeugen, weil access() mit
-                    extern_call() und previous_object() arbeitet und
-                    sichergestellt sein muss, dass das in jedem Fall das
-                    richtige ist. */
+                 /* Normalerweise benoetigen wir ein funcall() auf 
+                    Closure-Operator, um einen neuen Eintrag im Caller Stack
+                    zu erzeugen, weil access() mit extern_call() und
+                    previous_object() arbeitet und sichergestellt sein muss,
+                    dass das in jedem Fall das richtige ist.
+                    In diesem Fall gibt es schon durch filter() einen neuen
+                    Eintrag, daher muss access() direkt gerufen werden, sonst
+                    ist previous_object(1) == this_object(). */
                   return ( stringp(regmatch(ch_n, "^"+chname)) &&
-                           funcall(#'access, channels[ch_n], pl, C_SEND) );
+                           access(channels[ch_n], pl, C_SEND) );
                 });
 
   int num_channels = sizeof(chs);
