diff --git a/Trigger/TrigT1/TrigT1TGC/src/TGCSectorLogic.cxx b/Trigger/TrigT1/TrigT1TGC/src/TGCSectorLogic.cxx
index dedd9461500982ceaa82efb1650cc3d8bdb8a7e8..e207564e16fb2474169bf09a868563814958d289 100644
--- a/Trigger/TrigT1/TrigT1TGC/src/TGCSectorLogic.cxx
+++ b/Trigger/TrigT1/TrigT1TGC/src/TGCSectorLogic.cxx
@@ -581,12 +581,12 @@ void TGCSectorLogic::doInnerCoincidence(const SG::ReadCondHandleKey<TGCTriggerDa
     else{//  NSW or FI are used to inner coincidnece in SSC#5~18 in Endcap and Forward region 
 
       int pos = 4*coincidenceOut->getR() +  coincidenceOut->getPhi();
-      bool validFI = (m_mapEIFI->getFlagROI(pos, coincidenceOut->getIdSSC(), m_sectorId) == 1);
+      bool validFI = (m_mapEIFI->getFlagROI(pos, coincidenceOut->getIdSSC(), m_sectorId) == 1) && m_region==ENDCAP;
 
       if(tgcArgs()->USE_NSW() && m_nswSide){ //this function will be implemented.There is a NSW on A-side only in early Run3;
 	doTGCNSWCoincidence(coincidenceOut);
       }
-      else if(m_nswSide && validFI){
+      else if(!m_nswSide && validFI){
 	if(m_useEIFI){
 	  coincidenceOut->setInnerCoincidenceFlag( doTGCFICoincidence(coincidenceOut) );
 	}