diff --git a/library/BSSMAP_Emulation.ttcn b/library/BSSMAP_Emulation.ttcn
index 9e4d5c3..5cf5342 100644
--- a/library/BSSMAP_Emulation.ttcn
+++ b/library/BSSMAP_Emulation.ttcn
@@ -145,12 +145,8 @@
 }
 
 /* handle (optional) userData portion of various primitives and dispatch it to the client */
-private function f_handle_userData(BSSAP_ConnHdlr client, template octetstring userdata)
+private function f_handle_userData(BSSAP_ConnHdlr client, octetstring userdata)
 runs on BSSMAP_Emulation_CT {
-	if (not isvalue(userdata)) {
-		return;
-	}
-
 	/* decode + send decoded BSSAP to client */
 	var PDU_BSSAP bssap := dec_PDU_BSSAP(valueof(userdata));
 	CLIENT.send(bssap) to client;
@@ -212,13 +208,17 @@
 		/* SCCP -> Client: connection-oriented data in existing connection */
 		[] SCCP.receive(ASP_SCCP_N_DATA_ind:?) -> value data_ind {
 			vc_conn := f_comp_by_conn_id(data_ind.connectionId);
-			f_handle_userData(vc_conn, conn_ind.userData);
+			if (ispresent(data_ind.userData)) {
+				f_handle_userData(vc_conn, data_ind.userData);
+			}
 			}
 
 		/* SCCP -> Client: disconnect of an existing connection */
 		[] SCCP.receive(ASP_SCCP_N_DISCONNECT_ind:?) -> value disc_ind {
 			vc_conn := f_comp_by_conn_id(disc_ind.connectionId);
-			f_handle_userData(vc_conn, disc_ind.userData);
+			if (ispresent(disc_ind.userData)) {
+				f_handle_userData(vc_conn, disc_ind.userData);
+			}
 			/* notify client about termination */
 			var BSSAP_Conn_Prim prim := MSC_CONN_PRIM_DISC_IND;
 			CLIENT.send(prim) to vc_conn;
@@ -229,7 +229,9 @@
 		/* SCCP -> Client: connection confirm for outbound connection */
 		[] SCCP.receive(ASP_SCCP_N_CONNECT_cfm:?) -> value conn_cfm {
 			/* handle user payload */
-			f_handle_userData(vc_conn, conn_cfm.userData);
+			if (ispresent(conn_cfm.userData)) {
+				f_handle_userData(vc_conn, conn_cfm.userData);
+			}
 			}
 
 		/* Disconnect request client -> SCCP */
