diff --git a/library/DIAMETER_Emulation.ttcn b/library/DIAMETER_Emulation.ttcn
index f16acae..6eb72ad 100644
--- a/library/DIAMETER_Emulation.ttcn
+++ b/library/DIAMETER_Emulation.ttcn
@@ -276,13 +276,14 @@
 }
 
 function main(DIAMETEROps ops, DIAMETER_conn_parameters p, charstring id) runs on DIAMETER_Emulation_CT {
+	var boolean server_mode := p.remote_sctp_port == -1;
 	var Result res;
 	g_diameter_id := id;
 	f_imsi_table_init();
 	f_expect_table_init();
 
 	map(self:DIAMETER, system:DIAMETER_CODEC_PT);
-	if (p.remote_sctp_port == -1) {
+	if (server_mode) {
 		res := DIAMETER_CodecPort_CtrlFunct.f_IPL4_listen(DIAMETER, p.local_ip, p.local_sctp_port, { sctp := valueof(ts_SCTP) });
 	} else {
 		res := DIAMETER_CodecPort_CtrlFunct.f_IPL4_connect(DIAMETER, p.remote_ip, p.remote_sctp_port,
@@ -294,6 +295,18 @@
 	}
 	g_diameter_conn_id := res.connId;
 
+	/* If in client mode, send CER immediately */
+	if (not server_mode) {
+		var template (value) PDU_DIAMETER req;
+		var PDU_DIAMETER rsp;
+
+		req := ts_DIA_CER(f_inet_addr(p.local_ip), p.vendor_app_id,
+				  orig_host := p.origin_host, orig_realm := p.origin_realm);
+		rsp := f_diameter_xceive(req, tr_DIAMETER_A(Capabilities_Exchange, req.application_id));
+		/* notify our user that the CER->CEA exchange has happened */
+		DIAMETER_UNIT.send(DiameterCapabilityExchgInd:{rx := rsp, tx := valueof(req)});
+	}
+
 	while (true) {
 		var DIAMETER_ConnHdlr vc_conn;
 		var template IMSI imsi_t;
