diff --git a/openair2/LAYER2/MAC/eNB_scheduler_RA.c b/openair2/LAYER2/MAC/eNB_scheduler_RA.c
index ea1caf53a9b6fea25e3c7bc47ffbe1561e4ad27b..6d1be4c4e69a099def76874c0a6ec8ce3383c487 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_RA.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_RA.c
@@ -370,7 +370,7 @@ void generate_Msg2(module_id_t module_idP,int CC_idP,frame_t frameP,sub_frame_t
 	add_msg3(module_idP,CC_idP, RA_template,frameP,subframeP);
 	fill_rar_br(eNB,CC_idP,RA_template,frameP,subframeP,cc[CC_idP].RAR_pdu.payload,RA_template->rach_resource_type-1);
 	// DL request
-	eNB->TX_req[CC_idP].sfn_sf                                            = (frameP<<3)+subframeP;
+	eNB->TX_req[CC_idP].sfn_sf                                            = (frameP<<4)+subframeP;
 	TX_req                                                                = &eNB->TX_req[CC_idP].tx_request_body.tx_pdu_list[eNB->TX_req[CC_idP].tx_request_body.number_of_pdus]; 		     
 	TX_req->pdu_length                                                    = 7;  // This should be changed if we have more than 1 preamble 
 	TX_req->pdu_index                                                     = eNB->pdu_index[CC_idP]++;
@@ -464,7 +464,7 @@ void generate_Msg2(module_id_t module_idP,int CC_idP,frame_t frameP,sub_frame_t
 	  add_msg3(module_idP,CC_idP, RA_template,frameP,subframeP);
 
 	  // DL request
-	  eNB->TX_req[CC_idP].sfn_sf                                             = (frameP<<3)+subframeP;
+	  eNB->TX_req[CC_idP].sfn_sf                                             = (frameP<<4)+subframeP;
 	  TX_req                                                                = &eNB->TX_req[CC_idP].tx_request_body.tx_pdu_list[eNB->TX_req[CC_idP].tx_request_body.number_of_pdus]; 		     
 	  TX_req->pdu_length                                                    = 7;  // This should be changed if we have more than 1 preamble 
 	  TX_req->pdu_index                                                     = eNB->pdu_index[CC_idP]++;
@@ -758,7 +758,7 @@ void generate_Msg4(module_id_t module_idP,int CC_idP,frame_t frameP,sub_frame_t
 	       rrc_sdu_length);
 	
 	// DL request
-	eNB->TX_req[CC_idP].sfn_sf                                             = (frameP<<3)+subframeP;
+	eNB->TX_req[CC_idP].sfn_sf                                             = (frameP<<4)+subframeP;
 	TX_req                                                                = &eNB->TX_req[CC_idP].tx_request_body.tx_pdu_list[eNB->TX_req[CC_idP].tx_request_body.number_of_pdus]; 		     	      
 	TX_req->pdu_length                                                    = rrc_sdu_length;
 	TX_req->pdu_index                                                     = eNB->pdu_index[CC_idP]++;
diff --git a/openair2/PHY_INTERFACE/IF_Module.c b/openair2/PHY_INTERFACE/IF_Module.c
index 1deb950331715a227f96af9cab7a095f325a1b0b..d5398f1aac331ea3507e200c1e60c686f0580787 100644
--- a/openair2/PHY_INTERFACE/IF_Module.c
+++ b/openair2/PHY_INTERFACE/IF_Module.c
@@ -193,14 +193,14 @@ void UL_indication(UL_IND_t *UL_info)
   if (ifi->CC_mask == ((1<<MAX_NUM_CCs)-1)) {
 
     eNB_dlsch_ulsch_scheduler(module_id,
-			      UL_info->frame+((UL_info->subframe>5)?1:0),
+			      (UL_info->frame+((UL_info->subframe>5)?1:0)) % 1024,
 			      (UL_info->subframe+4)%10);
 
     ifi->CC_mask            = 0;
 
     sched_info->module_id   = module_id;
     sched_info->CC_id       = CC_id;
-    sched_info->frame       = UL_info->frame + ((UL_info->subframe>5) ? 1 : 0);
+    sched_info->frame       = (UL_info->frame + ((UL_info->subframe>5) ? 1 : 0)) % 1024;
     sched_info->subframe    = (UL_info->subframe+4)%10;
     sched_info->DL_req      = &mac->DL_req[CC_id];
     sched_info->HI_DCI0_req = &mac->HI_DCI0_req[CC_id];