diff --git a/std/player/comm.c b/std/player/comm.c
index 2dbdc75..6ab51bd 100644
--- a/std/player/comm.c
+++ b/std/player/comm.c
@@ -2158,7 +2158,7 @@
   return MSG_SENSE_BLOCK;
 }
 
-public varargs int ReceiveMsg(string msg, int msg_type, string msg_action,
+public int ReceiveMsg(string msg, int msg_type, string msg_action,
                               string msg_prefix, object origin)
 {
   if (!msg) return MSG_FAILED;
@@ -2167,9 +2167,10 @@
   int flags = msg_type & MSG_ALL_FLAGS;
   int type = msg_type & ~flags;
 
-  // ggf. defaults ermitteln
-  origin ||= previous_object();
-  msg_action ||= comm_guess_action();
+  // msg_action kommt per Defaultargument, msg_type hat per Default 0, daher
+  // ggf. auch noch den Typ raten (leider geht msg_type nicht als
+  // Defaultargument, da es *nach* msg_action ausgewertet werden muss, aber in
+  // der Argumentliste leider *vor* msg_action kommt...
   type ||= comm_guess_message_type(msg_action, origin);
 
   // Debugmeldungen nur an Magier oder Testspieler mit P_WIZ_DEBUG
diff --git a/sys/living/comm.h b/sys/living/comm.h
index 064113a..500641a 100644
--- a/sys/living/comm.h
+++ b/sys/living/comm.h
@@ -97,9 +97,11 @@
 #ifndef __LIVING_COMM_H_PROTO__
 #define __LIVING_COMM_H_PROTO__
 
-public varargs int ReceiveMsg(string msg, int msg_type, string msg_action,
-                              string msg_prefix, object origin);
-public int ReceiveNotify(string msg, string action = 0);
+protected string comm_guess_action();
+public varargs int ReceiveMsg(string msg, int msg_type = 0,
+    string msg_action = comm_guess_action(), string msg_prefix = 0,
+    object origin = previous_object());
+public int ReceiveNotify(string msg, string action = comm_guess_action());
 
 #endif // __LIVING_COMM_H_PROTO__
 
