diff --git a/openair2/F1AP/f1ap_cu_rrc_message_transfer.c b/openair2/F1AP/f1ap_cu_rrc_message_transfer.c
index 0a9e260aae2e8d59912300b621c12ff4547c5dd8..1b30602cdfd7422828d894eeec2e7110eb5354b4 100644
--- a/openair2/F1AP/f1ap_cu_rrc_message_transfer.c
+++ b/openair2/F1AP/f1ap_cu_rrc_message_transfer.c
@@ -346,7 +346,7 @@ int CU_handle_UL_RRC_MESSAGE_TRANSFER(instance_t       instance,
   // print message in debug mode 
 
   // create an ITTI message and copy SDU
-
+  /*
   
   message_p = itti_alloc_new_message (TASK_CU_F1, RRC_DCCH_DATA_IND);
 
@@ -362,6 +362,18 @@ int CU_handle_UL_RRC_MESSAGE_TRANSFER(instance_t       instance,
   RRC_DCCH_DATA_IND (message_p).eNB_index = instance; // not needed for CU
 
   itti_send_msg_to_task(TASK_RRC_ENB, instance, message_p);
-
+  */
+  protocol_ctxt_t ctxt;
+  ctxt.module_id = instance;
+  ctxt.rnti = f1ap_get_rnti_by_cu_id(&f1ap_cu_ue[instance],cu_ue_f1ap_id);
+  ctxt.enb_flag = 1;
+  mem_block_t *mb = get_free_mem_block(ie->value.choice.RRCContainer.size,__func__);
+  memcpy((void*)mb->data,(void*)ie->value.choice.RRCContainer.buf,ie->value.choice.RRCContainer.size);
+  pdcp_data_ind (&ctxt,
+		 1,
+		 0,
+		 srb_id,
+		 ie->value.choice.RRCContainer.size,
+		 mb);
   return 0;
 }
diff --git a/openair2/F1AP/f1ap_cu_task.c b/openair2/F1AP/f1ap_cu_task.c
index ccdc85fa696610c572bd158023c259687bfc5a21..55a1160c46c2790d36297fe554b14f732bf68e6e 100644
--- a/openair2/F1AP/f1ap_cu_task.c
+++ b/openair2/F1AP/f1ap_cu_task.c
@@ -111,6 +111,9 @@ void *F1AP_CU_task(void *arg) {
 
   LOG_I(CU_F1AP,"Starting F1AP at CU\n");
 
+  // no RLC in CU, initialize mem pool for PDCP
+  pool_buffer_init();
+
   itti_mark_task_ready(TASK_CU_F1);
 
   cu_task_send_sctp_init_req(0);