diff --git a/targets/RT/USER/rrh.c b/targets/RT/USER/rrh.c
index 8f927458099b3a4646867246012cf9efac1923a1..243ea02c313f0345586a176fec8c6034f5f4d3b8 100644
--- a/targets/RT/USER/rrh.c
+++ b/targets/RT/USER/rrh.c
@@ -61,7 +61,7 @@
 //#define RRH_UE_DEST_IP "192.168.12.148"  //Hecatonchire ip address
 #define RRH_UE_DEST_IP "192.168.12.196"  //Haswell ip address
 
-#define FRAME_MAX_SIZE 76800*4
+#define FRAME_MAX_SIZE 307200 
 #define DEFAULT_PERIOD_NS 133333
 
 typedef struct {
@@ -418,12 +418,12 @@ void *rrh_UE_thread(void *arg) {
 	
 	if ((timestamp_UE_rx[antenna_index]%(FRAME_MAX_SIZE)+nsamps) > FRAME_MAX_SIZE)   // Wrap around if nsamps exceeds the buffer limit
 	{
-          if ((timestamp_eNB_tx[antenna_index]%FRAME_MAX_SIZE < nsamps) && (eNB_tx_started==1))
+          if (((timestamp_eNB_tx[antenna_index]%(FRAME_MAX_SIZE)) < ((timestamp_UE_rx[antenna_index]+nsamps)%(FRAME_MAX_SIZE))) && (eNB_tx_started==1))
           {
-            printf("UE underflow timestamp_UE_rx : %d, timestamp_eNB_tx : %d\n",(int)(timestamp_UE_rx[antenna_index]%(FRAME_MAX_SIZE)),(int)(timestamp_eNB_tx[antenna_index]%FRAME_MAX_SIZE));
+            printf("UE underflow wraparound timestamp_UE_rx : %d, timestamp_eNB_tx : %d\n",(int)(timestamp_UE_rx[antenna_index]%(FRAME_MAX_SIZE)),(int)(timestamp_eNB_tx[antenna_index]%FRAME_MAX_SIZE));
             if (NRT_FLAG==1)
             {
-              while ((timestamp_eNB_tx[antenna_index]%FRAME_MAX_SIZE) < nsamps)
+              while ((timestamp_eNB_tx[antenna_index]%FRAME_MAX_SIZE) < ((timestamp_UE_rx[antenna_index]+nsamps)%(FRAME_MAX_SIZE)))
                 nanosleep(&time_req_1us,&time_rem_1us);
             }
           }
@@ -619,7 +619,7 @@ void *rrh_eNB_thread(void *arg) {
 	
 	if ((timestamp_eNB_rx[antenna_index]%(FRAME_MAX_SIZE)+nsamps) > FRAME_MAX_SIZE)   // Wrap around if nsamps exceeds the buffer limit
 	{
-          if ((timestamp_UE_tx[antenna_index]%FRAME_MAX_SIZE < nsamps) && (UE_tx_started==1))
+          if ((timestamp_UE_tx[antenna_index]%FRAME_MAX_SIZE < ((timestamp_eNB_rx[antenna_index]+nsamps)%FRAME_MAX_SIZE)) && (UE_tx_started==1))
           {
             printf("eNB underflow\n");
             if (NRT_FLAG==1)