diff --git a/common/utils/ocp_itti/intertask_interface.h b/common/utils/ocp_itti/intertask_interface.h
index 91cf2ce267201c0f9a9544c9ea15c8b781f8a83c..c4e8d6c44cea497b3eb32ff55541185042e22602 100644
--- a/common/utils/ocp_itti/intertask_interface.h
+++ b/common/utils/ocp_itti/intertask_interface.h
@@ -261,6 +261,7 @@ typedef struct IttiMsgText_s {
 void *rrc_enb_process_itti_msg(void *);
 #include <openair3/SCTP/sctp_eNB_task.h>
 #include <openair3/S1AP/s1ap_eNB.h>
+#include <openair3/NGAP/ngap_gNB.h>
 
 /*
   static const char *const messages_definition_xml = {
diff --git a/openair3/NGAP/ngap_gNB_nas_procedures.c b/openair3/NGAP/ngap_gNB_nas_procedures.c
index d49f6951ac648ed21108a785efc83b634ad691e0..636a30ec01b7ab454b83e7dada5d779dcc96d286 100644
--- a/openair3/NGAP/ngap_gNB_nas_procedures.c
+++ b/openair3/NGAP/ngap_gNB_nas_procedures.c
@@ -70,6 +70,7 @@ int ngap_gNB_handle_nas_first_req(
     DevAssert(instance_p != NULL);
     memset(&pdu, 0, sizeof(pdu));
     pdu.present = NGAP_NGAP_PDU_PR_initiatingMessage;
+    pdu.choice.initiatingMessage = (NGAP_InitiatingMessage_t *)calloc(1,sizeof(NGAP_InitiatingMessage_t));
     pdu.choice.initiatingMessage->procedureCode = NGAP_ProcedureCode_id_InitialUEMessage;
     pdu.choice.initiatingMessage->criticality = NGAP_Criticality_ignore;
     pdu.choice.initiatingMessage->value.present = NGAP_InitiatingMessage__value_PR_InitialUEMessage;
@@ -220,6 +221,8 @@ int ngap_gNB_handle_nas_first_req(
 
     ie->value.choice.UserLocationInformation.present = NGAP_UserLocationInformation_PR_userLocationInformationNR;
 
+    ie->value.choice.UserLocationInformation.choice.userLocationInformationNR =
+        CALLOC(1, sizeof(*ie->value.choice.UserLocationInformation.choice.userLocationInformationNR));
     userinfo_nr_p = ie->value.choice.UserLocationInformation.choice.userLocationInformationNR;
 
     /* Set nRCellIdentity. default userLocationInformationNR */