diff --git a/Trigger/TrigAlgorithms/TrigMuonEF/src/MuonChainFilterAlg.cxx b/Trigger/TrigAlgorithms/TrigMuonEF/src/MuonChainFilterAlg.cxx
index 4cfa79340b39e4f44a3cb36b24f565ce52276122..3110d9bcd2a377c66095df5d55baf32358caaecb 100644
--- a/Trigger/TrigAlgorithms/TrigMuonEF/src/MuonChainFilterAlg.cxx
+++ b/Trigger/TrigAlgorithms/TrigMuonEF/src/MuonChainFilterAlg.cxx
@@ -41,7 +41,7 @@ StatusCode MuonChainFilterAlg::execute()
 
   bool pass = false;
   //First check if there is anything in the filter list
-  if(m_filterChains.size()==0){
+  if(!m_notGate && m_filterChains.size()==0){
     ATH_MSG_DEBUG("Nothing to filter");
     setFilterPassed(true);
     return StatusCode::SUCCESS;
@@ -64,14 +64,27 @@ StatusCode MuonChainFilterAlg::execute()
 	  auto it = find(m_filterChains.begin(), m_filterChains.end(), chainName);
 	  //if there is any chain that is active and not on 
 	  //the filter list, set the filter to pass
-	  if(it != m_filterChains.end()){
-	    ATH_MSG_DEBUG("chain "<<chainName<<" is on the filter list, keep looking");
+	  if(!m_notGate) {
+	    if(it != m_filterChains.end()) {
+	      ATH_MSG_DEBUG("chain "<<chainName<<" is on the filter list, keep looking");
+	    }
+	    else {
+	      ATH_MSG_DEBUG("chain "<<chainName<<" is not on the filter list. Passing");
+	      pass = true;
+	      setFilterPassed(pass);
+	      return StatusCode::SUCCESS;
+	    }
 	  }
-	  else{
-	    ATH_MSG_DEBUG("chain "<<chainName<<" is not on the filter list. Passing");
-	    pass = true;
-	    setFilterPassed(pass);
-	    return StatusCode::SUCCESS;
+	  else {
+	    if(it != m_filterChains.end()) {
+	      ATH_MSG_DEBUG("chain "<<chainName<<" is on the not-filter list, Passing");
+	      pass = true;
+	      setFilterPassed(pass);
+	      return StatusCode::SUCCESS;
+	    }
+	    else{
+	      ATH_MSG_DEBUG("chain "<<chainName<<" is not on the not-filter list. keep looking");
+	    }
 	  }
 	}
       }
diff --git a/Trigger/TrigAlgorithms/TrigMuonEF/src/MuonChainFilterAlg.h b/Trigger/TrigAlgorithms/TrigMuonEF/src/MuonChainFilterAlg.h
index 40bf4c4370386d52c26a01f6e7aa4580cf3fcf62..f06ac03644a0661c7125e941051e42f5849a6bb8 100644
--- a/Trigger/TrigAlgorithms/TrigMuonEF/src/MuonChainFilterAlg.h
+++ b/Trigger/TrigAlgorithms/TrigMuonEF/src/MuonChainFilterAlg.h
@@ -41,6 +41,8 @@ class MuonChainFilterAlg : public AthAlgorithm
     Gaudi::Property< bool > m_writeL2muFast {this, "WriteMuFast", false, "Flag to record muFast muons" };
     SG::WriteHandleKey<xAOD::L2StandAloneMuonContainer> m_muFastKey {this, "L2MuFastContainer", "MuonL2SAInfo", "Output container for muFast"};
 
+    Gaudi::Property< bool > m_notGate {this, "NotGate", false, "filtering if not contained in ChainsToFilter" };
+
 };
 
 #endif
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSequenceSetup.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSequenceSetup.py
index 125532d328340ff32086b37537e09e17e6040498..ee45b85d7a143e0a373afa59cd039a1915301e6f 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSequenceSetup.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSequenceSetup.py
@@ -151,6 +151,7 @@ def muCombAlgSequence(ConfigFlags):
     insideoutMuonChainFilter.L2MuCombContainer = muNames.L2CBName+"IOmode"
     insideoutMuonChainFilter.WriteMuFast = True
     insideoutMuonChainFilter.WriteMuComb = True
+    insideoutMuonChainFilter.NotGate = True
 
     muFastIOFilterSequence = seqAND("l2muFastIOFilterSequence", [insideoutMuonChainFilter, muFastIORecoSequence])
 
@@ -610,11 +611,11 @@ def getInsideOutMuonChainNames():
     chains =[]
 
     try:
-        chains += [chain.name for chain in muonSlice if "l2io" not in chain.name]
+        chains += [chain.name for chain in muonSlice if "l2io" in chain.name]
     except Exception as e:
         log.debug(e)
     try:
-        chains += [chain.name for chain in bphysSlice if "l2io" not in chain.name]
+        chains += [chain.name for chain in bphysSlice if "l2io" in chain.name]
     except Exception as e:
         log.debug(e)