diff --git a/openair1/PHY/LTE_TRANSPORT/if4_tools.c b/openair1/PHY/LTE_TRANSPORT/if4_tools.c
index 342512397a43cb8a536c9f86947dc844893c77fc..e716695c06b21ca6ff70ce8326676264546d7fd4 100644
--- a/openair1/PHY/LTE_TRANSPORT/if4_tools.c
+++ b/openair1/PHY/LTE_TRANSPORT/if4_tools.c
@@ -89,7 +89,7 @@ void send_IF4(PHY_VARS_eNB *eNB, int frame, int subframe, uint16_t packet_type)
       // Write the packet to the fronthaul
       if ((eNB->ifdevice.trx_write_func(&eNB->ifdevice,
                                         symbol_id,
-                                        tx_buffer,
+                                        &tx_buffer,
                                         db_fulllength,
       			                            1,
                                         IF4_PDLFFT)) < 0) {
@@ -127,7 +127,7 @@ void send_IF4(PHY_VARS_eNB *eNB, int frame, int subframe, uint16_t packet_type)
       // Write the packet(s) to the fronthaul 
       if ((eNB->ifdevice.trx_write_func(&eNB->ifdevice,
                                         (int64_t) symbol_id,
-                                        tx_buffer,
+                                        &tx_buffer,
                                         db_fulllength,
       			                            1,
                                         IF4_PULFFT)) < 0) {
@@ -157,7 +157,7 @@ void send_IF4(PHY_VARS_eNB *eNB, int frame, int subframe, uint16_t packet_type)
     // Write the packet to the fronthaul
     if ((eNB->ifdevice.trx_write_func(&eNB->ifdevice,
                                       (int64_t) symbol_id,
-                                      tx_buffer,
+                                      &tx_buffer,
                                       db_fulllength,
                                       1,
                                       IF4_PRACH)) < 0) {
diff --git a/openair1/PHY/LTE_TRANSPORT/prach.c b/openair1/PHY/LTE_TRANSPORT/prach.c
index 85330b5a18193c97f0e6edb2276674371b83340f..23ea2cae53972f19027663d3dd64b55863cf1380 100644
--- a/openair1/PHY/LTE_TRANSPORT/prach.c
+++ b/openair1/PHY/LTE_TRANSPORT/prach.c
@@ -1271,7 +1271,7 @@ void rx_prach(PHY_VARS_eNB *eNB,
   if (eNB->node_function == NGFI_RRU_IF4) {
     /// **** send_IF4 of prachF to RCC **** ///    
     VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_SEND_IF4, 1 );   
-    // send_IF4();
+    //send_IF4(eNB, frame, subframe, IF4_PRACH);
     VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_SEND_IF4, 0 );   
 
     return;
diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c
index 92392070af3b4c3002fb99ee9210281ffc87cb1f..3b7052db586748f73e2b93187a3b6e71ce89e4a1 100755
--- a/openair1/SCHED/phy_procedures_lte_eNb.c
+++ b/openair1/SCHED/phy_procedures_lte_eNb.c
@@ -2572,7 +2572,7 @@ void phy_procedures_eNB_common_RX(PHY_VARS_eNB *eNB,const uint8_t abstraction_fl
 			  /// **** send_IF4 of rxdataF to RCC (no prach now) **** ///
         
         VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_SEND_IF4, 1 );   
-        // send_IF4();
+        //send_IF4(eNB, frame, subframe, IF4_PULFFT);
         VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_SEND_IF4, 0 );   
         
       }
@@ -2624,7 +2624,7 @@ void phy_procedures_eNB_common_RX(PHY_VARS_eNB *eNB,const uint8_t abstraction_fl
          
       do {
         VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_RECV_IF4, 1 );   
-        //recv_IF4(eNB, proc, &packet_type, &symbol_number);
+        //recv_IF4(eNB, frame, subframe, &packet_type, &symbol_number);
         VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_RECV_IF4, 0 );   
 
         if (packet_type == IF4_PULFFT) {
diff --git a/targets/RT/USER/lte-enb.c b/targets/RT/USER/lte-enb.c
index 8126ef46e0c3fc3fe54145f96fec190de72c2c00..4031cd5842c2f8781f5e27df5c5a7d4c6ad5670e 100644
--- a/targets/RT/USER/lte-enb.c
+++ b/targets/RT/USER/lte-enb.c
@@ -486,7 +486,7 @@ static void* eNB_thread_rxtx( void* param ) {
         /// **** recv_IF4 of txdataF from RCC **** ///     
         
         VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_RECV_IF4, 1 );   
-        //recv_IF4(eNB, proc, packet_type, symbol_number);        
+        //recv_IF4(eNB, frame, subframe, packet_type, symbol_number);        
         VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_RECV_IF4, 0 );   
         
       }
@@ -536,7 +536,7 @@ static void* eNB_thread_rxtx( void* param ) {
       /// **** send_IF4 of txdataF to RRU **** /// 
       
       VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_SEND_IF4, 1 );   
-      //send_IF4(PHY_vars_eNB_g[0][proc->CC_id], proc, 0);
+      send_IF4(PHY_vars_eNB_g[0][proc->CC_id], proc->frame_tx, proc->subframe_tx, IF4_PDLFFT);
       VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_SEND_IF4, 0 );
 
     }
diff --git a/targets/RT/USER/lte-softmodem.c b/targets/RT/USER/lte-softmodem.c
index dd55dacb1f52651032d543bc39f9782686314fa5..dcfa88afbf5d7605d259839c937f0f232dfda891 100644
--- a/targets/RT/USER/lte-softmodem.c
+++ b/targets/RT/USER/lte-softmodem.c
@@ -1911,8 +1911,12 @@ int main( int argc, char **argv )
   pthread_cond_destroy(&sync_cond);
   pthread_mutex_destroy(&sync_mutex);
 
-  // *** Handle per CC_id openair0
+  // *** Handle per CC_id openair0 
   openair0.trx_end_func(&openair0);
+  for(CC_id=0; CC_id<MAX_NUM_CCs; CC_id++) {
+    PHY_vars_eNB_g[0][CC_id]->rfdevice.trx_end_func(&PHY_vars_eNB_g[0][CC_id]->rfdevice);  
+    PHY_vars_eNB_g[0][CC_id]->ifdevice.trx_end_func(&PHY_vars_eNB_g[0][CC_id]->ifdevice);  
+  }
 
   if (ouput_vcd)
     VCD_SIGNAL_DUMPER_CLOSE();