diff --git a/library/RSL_Emulation.ttcn b/library/RSL_Emulation.ttcn
index 3634373..119a9be 100644
--- a/library/RSL_Emulation.ttcn
+++ b/library/RSL_Emulation.ttcn
@@ -451,30 +451,30 @@
 		/* explicit registration, e.g. in (non-immediate) assignment case */
 		[] RSL_PROC.getcall(RSLEM_register:{?,?,?}) -> param(trx_nr, chan_nr, vc_conn) {
 			f_cid_create_cnr(trx_nr, chan_nr, vc_conn);
-			RSL_PROC.reply(RSLEM_register:{trx_nr, chan_nr, vc_conn});
+			RSL_PROC.reply(RSLEM_register:{trx_nr, chan_nr, vc_conn}) to vc_conn;
 			}
 
 		[] RSL_PROC.getcall(RSLEM_unregister:{?,?,?}) -> param(trx_nr, chan_nr, vc_conn) {
 			cid := f_cid_by_chan_nr(trx_nr, chan_nr);
 			f_cid_clear(cid);
-			RSL_PROC.reply(RSLEM_unregister:{trx_nr, chan_nr, vc_conn});
+			RSL_PROC.reply(RSLEM_unregister:{trx_nr, chan_nr, vc_conn}) to vc_conn;
 			}
 
-		[] RSL_PROC.getcall(RSLEM_suspend:{true}) {
+		[] RSL_PROC.getcall(RSLEM_suspend:{true}) -> sender vc_conn {
 			log("Suspending DChan");
 			dchan_suspended := true;
-			RSL_PROC.reply(RSLEM_suspend:{true});
+			RSL_PROC.reply(RSLEM_suspend:{true}) to vc_conn;
 			}
 
-		[] RSL_PROC.getcall(RSLEM_suspend:{false}) {
+		[] RSL_PROC.getcall(RSLEM_suspend:{false}) -> sender vc_conn {
 			log("Resuming DChan");
 			dchan_suspended := false;
-			RSL_PROC.reply(RSLEM_suspend:{false});
+			RSL_PROC.reply(RSLEM_suspend:{false}) to vc_conn;
 			}
 
-		[] RSL_PROC.getcall(RSLEM_get_last_act:{?,?,?}) -> param(trx_nr, chan_nr) {
+		[] RSL_PROC.getcall(RSLEM_get_last_act:{?,?,?}) -> param(trx_nr, chan_nr) sender vc_conn {
 			var RSL_Message last_chan_act := f_lookup_last_act(trx_nr, chan_nr);
-			RSL_PROC.reply(RSLEM_get_last_act:{trx_nr, chan_nr, last_chan_act});
+			RSL_PROC.reply(RSLEM_get_last_act:{trx_nr, chan_nr, last_chan_act}) to vc_conn;
 			}
 		}
 	}
