diff --git a/std/transport.c b/std/transport.c
index 235debc..5b9c04f 100644
--- a/std/transport.c
+++ b/std/transport.c
@@ -705,3 +705,38 @@
   }
 }
 
+// **** Kommunikationsdinge *****
+// ReceiveMsg & Co muessen bei empfangenen Nachrichten je nach Zustand des
+// Transporters (Abgelegt, Unsichtbar, generell nicht-transparent etc.) die
+// Nachricht wegwerfen und *nicht* an ihr Inventar weiterleiten.
+
+public void ReceiveMsg(string msg, int msg_type, string msg_action,
+                               string msg_prefix, object origin)
+{
+  // Wenn die Meldung aus einem der Environments kommt und der Transporter
+  // gerade nicht transparent ist (entweder generell oder weil er gerade
+  // unterwegs/unsichtbar ist), wird die Meldung nicht ans Inventar
+  // weitergeleitet.
+  // Bemerkung: origin in all_environment() klingt zwar gut, aber dann werden
+  // Nachrichten von anderen Objekte im Raum *ueber* den raum nicht erfasst.
+  // D.h. in diesem Fall wird wirklich previous_object() geprueft.
+  if (previous_object() == environment() && !QueryProp(P_TRANSPARENT))
+    return;
+  ::ReceiveMsg(msg, msg_type, msg_action, msg_prefix, origin);
+}
+
+// Wrapper fuer ReceiveMsg()
+public void ReceiveMultiSense(struct wave_s *msgs, string action=0,
+    int commontypes=0)
+{
+  // Wenn die Meldung aus einem der Environments kommt und der Transporter
+  // gerade nicht transparent ist (entweder generell oder weil er gerade
+  // unterwegs/unsichtbar ist), wird die Meldung nicht ans Inventar
+  // weitergeleitet.
+  // Bemerkung: origin in all_environment() klingt zwar gut, aber dann werden
+  // Nachrichten von anderen Objekte im Raum *ueber* den raum nicht erfasst.
+  // D.h. in diesem Fall wird wirklich previous_object() geprueft.
+  if (previous_object() == environment() && !QueryProp(P_TRANSPARENT))
+    return;
+  ::ReceiveMultiSense(msgs, action, commontypes);
+}
