diff --git a/openair2/LAYER2/PROTO_AGENT/proto_agent.c b/openair2/LAYER2/PROTO_AGENT/proto_agent.c
index de8af0fb33e8d3699363115747b6dce977e1002e..38c7c32b520a0d76516a54125217b7c68261dd8f 100644
--- a/openair2/LAYER2/PROTO_AGENT/proto_agent.c
+++ b/openair2/LAYER2/PROTO_AGENT/proto_agent.c
@@ -191,6 +191,8 @@ proto_agent_send_rlc_data_req(const protocol_ctxt_t* const ctxt_pP,
   if (!msg) goto error;
     
   proto_agent_async_msg_send((void *)msg, (int) msgsize, 1, proto_agent[mod_id].channel->channel_info);
+
+  free_mem_block(sdu_pP, __func__);
   
   return;
 error:
@@ -229,6 +231,8 @@ proto_agent_send_pdcp_data_ind(const protocol_ctxt_t* const ctxt_pP, const srb_f
 
   proto_agent_async_msg_send((void *)msg, (int) msgsize, 1, proto_agent[mod_id].channel->channel_info);
 
+  free_mem_block(sdu_pP, __func__);
+
   return;
 
 error: