diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp.c
index 71c4800514ac35a30aae2a963821e9d247582b51..6d2872b5290658ed038a28ca641119f7aab9dae8 100755
--- a/openair2/LAYER2/PDCP_v10.1.0/pdcp.c
+++ b/openair2/LAYER2/PDCP_v10.1.0/pdcp.c
@@ -98,8 +98,8 @@ BOOL pdcp_data_req(u8 eNB_id, u8 UE_id, u32_t frame, u8_t eNB_flag, rb_id_t rb_i
   module_id_t module_id;
   rb_id_t rb_id_rlc = 0;
 
-  DevCheck4(eNB_id < NB_eNB_INST, eNB_id, NB_eNB_INST, UE_id, rb_id);
-  DevCheck4(UE_id < NB_UE_INST, UE_id, NB_UE_INST, eNB_id, rb_id);
+  DevCheck4(eNB_id < NUMBER_OF_eNB_MAX, eNB_id, NUMBER_OF_eNB_MAX, UE_id, rb_id);
+  DevCheck4(UE_id < NUMBER_OF_UE_MAX, UE_id, NUMBER_OF_UE_MAX, eNB_id, rb_id);
   DevCheck4(rb_id < NB_RB_MAX, rb_id, NB_RB_MAX, UE_id, eNB_id);
 
 #ifdef PDCP_UNIT_TEST
@@ -310,10 +310,9 @@ BOOL pdcp_data_ind(u8 eNB_id, u8 UE_id, u32_t frame, u8_t eNB_flag, u8_t MBMS_fl
   list_t* sdu_list;
 #endif
   mem_block_t *new_sdu = NULL;
-  int src_id, dst_id,ctime; // otg param
   u8 pdcp_header_len=0, pdcp_tailer_len=0;
   u16 sequence_number;
-  u8 payload_offset=0;
+  u8 payload_offset = 0;
   module_id_t module_id;
 
 #ifdef PDCP_UNIT_TEST
@@ -324,9 +323,9 @@ BOOL pdcp_data_ind(u8 eNB_id, u8 UE_id, u32_t frame, u8_t eNB_flag, u8_t MBMS_fl
         "ID %d and radio bearer ID %d rlc sdu size %d eNB_flag %d\n",
         module_id, rb_id, sdu_buffer_size, eNB_flag);
 #else
-  DevCheck(UE_id < NB_UE_INST, UE_id, NB_UE_INST, eNB_id);
-  DevCheck(eNB_id < NB_eNB_INST, eNB_id, NB_eNB_INST, UE_id);
-  DevCheck(rb_id < NB_RB_MAX, rb_id, NB_eNB_INST, NB_RB_MAX);
+  DevCheck4(UE_id < NUMBER_OF_UE_MAX, UE_id, NUMBER_OF_UE_MAX, eNB_id, rb_id);
+  DevCheck4(eNB_id < NUMBER_OF_eNB_MAX, eNB_id, NUMBER_OF_eNB_MAX, UE_id, rb_id);
+  DevCheck4(rb_id < NB_RB_MAX, rb_id, NB_RB_MAX, eNB_id, UE_id);
 
   if (eNB_flag == 0) {
     pdcp = &pdcp_array_ue[UE_id][rb_id];
@@ -406,7 +405,7 @@ BOOL pdcp_data_ind(u8 eNB_id, u8 UE_id, u32_t frame, u8_t eNB_flag, u8_t MBMS_fl
     if ( (rb_id % NB_RB_MAX) <  DTCH ){
 #if defined(ENABLE_SECURITY)
       if (pdcp->security_activated == 1) {
-        pdcp_validate_security(pdcp, rb_id % NB_RB_MAX, pdcp_header_len,
+        pdcp_validate_security(pdcp, rb_id, pdcp_header_len,
                                sequence_number, sdu_buffer->data,
                                sdu_buffer_size - pdcp_tailer_len);
       }
@@ -435,7 +434,9 @@ BOOL pdcp_data_ind(u8 eNB_id, u8 UE_id, u32_t frame, u8_t eNB_flag, u8_t MBMS_fl
     payload_offset=0;
   }
 #if defined(USER_MODE) && defined(OAI_EMU)
-  if (oai_emulation.info.otg_enabled ==1 ){
+  if (oai_emulation.info.otg_enabled == 1) {
+    int src_id, dst_id, ctime;
+
     src_id = (eNB_flag != 0) ? UE_id + NB_eNB_INST : eNB_id;
     dst_id = (eNB_flag == 0) ? UE_id + NB_eNB_INST : eNB_id;
     ctime = oai_emulation.info.time_ms; // avg current simulation time in ms : we may get the exact time through OCG?
@@ -465,6 +466,7 @@ BOOL pdcp_data_ind(u8 eNB_id, u8 UE_id, u32_t frame, u8_t eNB_flag, u8_t MBMS_fl
     if (eNB_flag == 0) {
       ((pdcp_data_ind_header_t *) new_sdu->data)->rb_id     = rb_id;
     } else {
+      /* RB id for an UE on eNB is instantiated */
       ((pdcp_data_ind_header_t *) new_sdu->data)->rb_id     = rb_id + (UE_id * NB_RAB_MAX);
     }
     ((pdcp_data_ind_header_t *) new_sdu->data)->data_size = sdu_buffer_size - payload_offset;
@@ -525,20 +527,6 @@ void pdcp_run (u32_t frame, u8 eNB_flag, u8 UE_index, u8 eNB_index) {
   instance_t instance;
 #endif
 
-#ifndef NAS_NETLINK
-#ifdef USER_MODE
-#define PDCP_DUMMY_BUFFER_SIZE 38
-//  unsigned char pdcp_dummy_buffer[PDCP_DUMMY_BUFFER_SIZE];
-#endif
-#endif
-//     unsigned int diff, i, k, j;
-//     unsigned char *otg_pkt=NULL;
-//     int src_id, module_id; // src for otg
-//     int dst_id, rb_id; // dst for otg
-//     int service_id, session_id;
-//     int pkt_size=0;
-//     unsigned int ctime=0;
-
   vcd_signal_dumper_dump_function_by_name(VCD_SIGNAL_DUMPER_FUNCTIONS_PDCP_RUN, VCD_FUNCTION_IN);
 
 #if defined(ENABLE_ITTI)
@@ -576,24 +564,6 @@ void pdcp_run (u32_t frame, u8 eNB_flag, u8 UE_index, u8 eNB_index) {
   } while(msg_p != NULL);
 #endif
 
-    /*
-      if ((frame % 128) == 0) {
-      for (i=0; i < NB_UE_INST; i++) {
-      for (j=0; j < NB_CNX_CH; j++) {
-      for (k=0; k < NB_RAB_MAX; k++) {
-      diff = Pdcp_stats_tx_bytes[i][j][k];
-      Pdcp_stats_tx_bytes[i][j][k] = 0;
-      Pdcp_stats_tx_rate[i][j][k] = (diff*8) >> 7;
-
-      diff = Pdcp_stats_rx_bytes[i][j][k];
-      Pdcp_stats_rx_bytes[i][j][k] = 0;
-      Pdcp_stats_rx_rate[i][j][k] = (diff*8) >> 7;
-      }
-      }
-      }
-      }
-    */
-
   pdcp_fifo_read_input_sdus_from_otg(frame, eNB_flag, UE_index, eNB_index);
 
   // IP/NAS -> PDCP traffic : TX, read the pkt from the upper layer buffer
@@ -783,7 +753,9 @@ BOOL rrc_pdcp_config_asn1_req (u8 eNB_id, u8 UE_id, u32_t frame, u8_t eNB_flag,
           // set the applicable profile
           break;
         default:
-          LOG_W(PDCP,"[MOD_id %d][RB %d] unknown drb_toaddmod->PDCP_Config->headerCompression->present \n",module_id,drb_id);
+          LOG_W(PDCP,"[MOD_id %d][RB %d] unknown drb_toaddmod->PDCP_Config->headerCompression->present \n",
+                  module_id, drb_id);
+          break;
         }
         pdcp_config_req_asn1 (pdcp,
                               eNB_id,
@@ -893,8 +865,10 @@ BOOL pdcp_config_req_asn1 (pdcp_t *pdcp, u8 eNB_id, u8 UE_id, u32 frame, u8_t eN
                            u8 *kUPenc)
 {
   module_id_t module_id = 0;
+
   switch (action) {
     case ACTION_ADD:
+      DevAssert(pdcp != NULL);
       pdcp->instanciated_instance = 1;
       pdcp->is_ue = (eNB_flag == 0) ? 1 : 0;
       pdcp->lcid = lc_id;
@@ -938,6 +912,7 @@ BOOL pdcp_config_req_asn1 (pdcp_t *pdcp, u8 eNB_id, u8 UE_id, u32 frame, u8_t eN
       break;
 
     case ACTION_MODIFY:
+      DevAssert(pdcp != NULL);
       pdcp->header_compression_profile=header_compression_profile;
       pdcp->status_report = rb_report;
       pdcp->rlc_mode = rlc_mode;
@@ -968,6 +943,7 @@ BOOL pdcp_config_req_asn1 (pdcp_t *pdcp, u8 eNB_id, u8 UE_id, u32 frame, u8_t eN
       }
       break;
     case ACTION_REMOVE:
+      DevAssert(pdcp != NULL);
       pdcp->instanciated_instance = 0;
       pdcp->lcid = 0;
       pdcp->header_compression_profile = 0x0;
@@ -1053,7 +1029,7 @@ void pdcp_config_set_security(pdcp_t *pdcp, u8 eNB_id, u8 UE_id, u32 frame, u8 e
     /* Activate security */
     pdcp->security_activated = 1;
   } else {
-    LOG_D(PDCP,"[%s %d] bad security mode %d", security_mode);
+    LOG_E(PDCP,"[%s %d] bad security mode %d", security_mode);
   }
 }
 
@@ -1181,8 +1157,7 @@ void
 //-----------------------------------------------------------------------------
 void pdcp_layer_init(void)
 {
-  //-----------------------------------------------------------------------------
-  unsigned int i, j, k;
+//-----------------------------------------------------------------------------
 
   /*
     * Initialize SDU list
@@ -1192,16 +1167,14 @@ void pdcp_layer_init(void)
   memset(pdcp_array_ue, 0, sizeof(pdcp_array_ue));
   memset(pdcp_array_eNB, 0, sizeof(pdcp_array_eNB));
 
-  for (i=0; i < MAX_MODULES; i++) { // MAX service
-    for (j=0; j < 16*29; j++) { // max session
-      memset((void*)&pdcp_mbms_array[i][j], 0, sizeof(pdcp_mbms_t));
-    }
-  }
+  memset((void*)&pdcp_mbms_array, 0, sizeof(pdcp_mbms_array));
 
   LOG_I(PDCP, "PDCP layer has been initialized\n");
+
   pdcp_output_sdu_bytes_to_write=0;
   pdcp_output_header_bytes_to_write=0;
   pdcp_input_sdu_remaining_size_to_read=0;
+
   /*
     * Initialize PDCP entities (see pdcp_t at pdcp.h)
     */
@@ -1222,26 +1195,20 @@ void pdcp_layer_init(void)
        }
        }*/
 
-  for (i=0;i<NB_UE_INST;i++) { // ue
-    for (k=0;k<NB_eNB_INST;k++) { // enb
-      for(j=0;j<NB_RAB_MAX;j++) {//rb
-        Pdcp_stats_tx[i][k][j]=0;
-        Pdcp_stats_tx_bytes[i][k][j]=0;
-        Pdcp_stats_tx_bytes_last[i][k][j]=0;
-        Pdcp_stats_tx_rate[i][k][j]=0;
-
-        Pdcp_stats_rx[i][k][j]=0;
-        Pdcp_stats_rx_bytes[i][k][j]=0;
-        Pdcp_stats_rx_bytes_last[i][k][j]=0;
-        Pdcp_stats_rx_rate[i][k][j]=0;
-      }
-    }
-  }
+  memset(Pdcp_stats_tx, 0, sizeof(Pdcp_stats_tx));
+  memset(Pdcp_stats_tx_bytes, 0, sizeof(Pdcp_stats_tx_bytes));
+  memset(Pdcp_stats_tx_bytes_last, 0, sizeof(Pdcp_stats_tx_bytes_last));
+  memset(Pdcp_stats_tx_rate, 0, sizeof(Pdcp_stats_tx_rate));
+
+  memset(Pdcp_stats_rx, 0, sizeof(Pdcp_stats_rx));
+  memset(Pdcp_stats_rx_bytes, 0, sizeof(Pdcp_stats_rx_bytes));
+  memset(Pdcp_stats_rx_bytes_last, 0, sizeof(Pdcp_stats_rx_bytes_last));
+  memset(Pdcp_stats_rx_rate, 0, sizeof(Pdcp_stats_rx_rate));
 }
 
 //-----------------------------------------------------------------------------
 void
-    pdcp_layer_cleanup ()
+    pdcp_layer_cleanup (void)
     //-----------------------------------------------------------------------------
 {
   list_free (&pdcp_sdu_list);
diff --git a/openair2/UTIL/LOG/vcd_signal_dumper.c b/openair2/UTIL/LOG/vcd_signal_dumper.c
index b3fad6c0243d221747f5b4467379bc7bb2c7bf0d..e99d1560d4b30a60a256b232173fdac906d05e62 100644
--- a/openair2/UTIL/LOG/vcd_signal_dumper.c
+++ b/openair2/UTIL/LOG/vcd_signal_dumper.c
@@ -283,7 +283,7 @@ void *vcd_dumper_thread_rt(void *args)
     while(1) {
         if (lfds611_queue_dequeue(vcd_queue, (void **) &data) == 0) {
             /* No element -> sleep a while */
-            usleep(1);
+            usleep(500);
         } else {
             switch (data->module) {
                 case VCD_SIGNAL_DUMPER_MODULE_VARIABLES: