diff --git a/cmake_targets/CMakeLists.txt b/cmake_targets/CMakeLists.txt
index fd3364dec8e50169755282e6cced17484d27fd93..48971469189e30e8653379a78589b4e5ed172ca5 100644
--- a/cmake_targets/CMakeLists.txt
+++ b/cmake_targets/CMakeLists.txt
@@ -184,7 +184,7 @@ set(CMAKE_EXE_LINKER_FLAGS  "${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath -Wl,${CMAKE_CU
 # set a flag for changes in the source code
 # these changes are related to hardcoded path to include .h files
 set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS} -g3  -DMALLOC_CHECK_=3")
-set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS} -g3 -DMALLOC_CHECK_=3 -O0")
+set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS} -g3 -DMALLOC_CHECK_=3 -O3")
 
 
 set(GIT_BRANCH        "UNKNOWN")
diff --git a/executables/main-fs6.c b/executables/main-fs6.c
index bb88c1d61e9703d6f949fb03ebd511477d28628c..ff932d71ade188bd83e8da9441707331ba87ff77 100644
--- a/executables/main-fs6.c
+++ b/executables/main-fs6.c
@@ -1280,7 +1280,8 @@ void UL_cu_fs6(RU_t *ru, uint64_t *TS) {
 
   setAllfromTS(hUDP(bufferZone)->timestamp);
   PHY_VARS_eNB *eNB = RC.eNB[0][0];
-  prach_eNB_fromsplit(bufferZone, sizeof(bufferZone), eNB);
+  if (is_prach_subframe(&eNB->frame_parms, eNB->proc.frame_prach,eNB->proc.subframe_prach)>0)
+    prach_eNB_fromsplit(bufferZone, sizeof(bufferZone), eNB);
   release_UE_in_freeList(eNB->Mod_id);
 
   if (NFAPI_MODE==NFAPI_MONOLITHIC || NFAPI_MODE==NFAPI_MODE_PNF) {
@@ -1295,7 +1296,12 @@ void *cu_fs6(void *arg) {
   init_frame_parms(&ru->frame_parms,1);
   phy_init_RU(ru);
   wait_sync("ru_thread");
-  AssertFatal(createUDPsock(NULL, CU_PORT, CU_IP, DU_PORT, &sockFS6), "");
+  char * remoteIP;
+  if ( getenv("FS6_REMOTE_IP") )
+    remoteIP=getenv("FS6_REMOTE_IP");
+  else
+    remoteIP=DU_IP;
+  AssertFatal(createUDPsock(NULL, CU_PORT, remoteIP, DU_PORT, &sockFS6), "");
   uint64_t timeStamp=0;
 
   while(1) {
@@ -1315,7 +1321,12 @@ void *du_fs6(void *arg) {
   phy_init_RU(ru);
   openair0_device_load(&ru->rfdevice,&ru->openair0_cfg);
   wait_sync("ru_thread");
-  AssertFatal(createUDPsock(NULL, DU_PORT, DU_IP, CU_PORT, &sockFS6),"");
+    char * remoteIP;
+  if ( getenv("FS6_REMOTE_IP") )
+    remoteIP=getenv("FS6_REMOTE_IP");
+  else
+    remoteIP=CU_IP;
+  AssertFatal(createUDPsock(NULL, DU_PORT, remoteIP, CU_PORT, &sockFS6), "");
 
   if (ru->start_rf) {
     if (ru->start_rf(ru) != 0)