diff --git a/Trigger/TrigAlgorithms/TrigMuonEF/CMakeLists.txt b/Trigger/TrigAlgorithms/TrigMuonEF/CMakeLists.txt
index cece37f6e51360d916e0c84e45cc2cd166e4b097..ce28ad69385ca20e5c75a007c4ebc20f13fd074a 100644
--- a/Trigger/TrigAlgorithms/TrigMuonEF/CMakeLists.txt
+++ b/Trigger/TrigAlgorithms/TrigMuonEF/CMakeLists.txt
@@ -33,7 +33,8 @@ atlas_depends_on_subdirs( PUBLIC
                           MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack
                           MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonSegment
                           MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonRecToolInterfaces
-                          MuonSpectrometer/MuonReconstruction/MuonSegmentCombiners/MuonSegmentCombinerTools/MuonSegmentCombinerToolInterfaces			  
+                          MuonSpectrometer/MuonReconstruction/MuonSegmentCombiners/MuonSegmentCombinerTools/MuonSegmentCombinerToolInterfaces
+			  MuonSpectrometer/MuonReconstruction/MuonSegmentMakers/MuonSegmentMakerTools/MuonSegmentMakerToolInterfaces
 			  PhysicsAnalysis/AnalysisCommon/PATCore
                           Reconstruction/MuonIdentification/MuidInterfaces
                           Reconstruction/MuonIdentification/MuonCombinedEvent
diff --git a/Trigger/TrigAlgorithms/TrigMuonEF/python/TrigMuonEFConfig.py b/Trigger/TrigAlgorithms/TrigMuonEF/python/TrigMuonEFConfig.py
index e5aff6a9125d6cbe00a0007a8535e6eb46c36701..afc3d2bf378b114a56f9c86928019f2f07180e62 100755
--- a/Trigger/TrigAlgorithms/TrigMuonEF/python/TrigMuonEFConfig.py
+++ b/Trigger/TrigAlgorithms/TrigMuonEF/python/TrigMuonEFConfig.py
@@ -520,7 +520,7 @@ class TrigMuonEFStandaloneTrackToolConfig (TrigMuonEFStandaloneTrackTool):
         RpcRdoToRpcPrepDataTool = Muon__RpcRdoToPrepDataTool(name = "TrigEFRpcRdoToPrepDataTool")
         if not rec.doRDOTrigger and rec.doESD:
             MdtRdoToMdtPrepDataTool.OutputCollection = "TrigMDT_DriftCircles"
-            CscRdoToCscPrepDataTool.OutputCollection = "TrigCSC_Clusters"
+            CscRdoToCscPrepDataTool.OutputCollection = "TrigCSC_Measurements"
             TgcRdoToTgcPrepDataTool.OutputCollection = "TrigTGC_Measurements"
             TgcRdoToTgcPrepDataTool.OutputCoinCollection = "TrigerT1CoinDataCollection"
             RpcRdoToRpcPrepDataTool.TriggerOutputCollection="TrigRPC_Measurements"
@@ -528,7 +528,7 @@ class TrigMuonEFStandaloneTrackToolConfig (TrigMuonEFStandaloneTrackTool):
             RpcRdoToRpcPrepDataTool.InputCollection="TrigRPC_triggerHits"
         else:
             MdtRdoToMdtPrepDataTool.OutputCollection = "MDT_DriftCircles"
-            CscRdoToCscPrepDataTool.OutputCollection = "CSC_Clusters"
+            CscRdoToCscPrepDataTool.OutputCollection = "CSC_Measurements"
             TgcRdoToTgcPrepDataTool.OutputCollection = "TGC_Measurements"
             TgcRdoToTgcPrepDataTool.OutputCoinCollection = "TrigT1CoinDataCollection"
             RpcRdoToRpcPrepDataTool.TriggerOutputCollection="RPC_Measurements"
@@ -540,7 +540,8 @@ class TrigMuonEFStandaloneTrackToolConfig (TrigMuonEFStandaloneTrackTool):
         #CSC
         ToolSvc += CscRdoToCscPrepDataTool
         self.CscPrepDataProvider=CscRdoToCscPrepDataTool
-        self.CscPrepDataContainer=CscRdoToCscPrepDataTool.OutputCollection
+        #We use the clusters not the PRD hits directly for CSCs
+        self.CscPrepDataContainer="CSC_Clusters"
         #TGC
         ToolSvc += TgcRdoToTgcPrepDataTool
         self.TgcPrepDataProvider=TgcRdoToTgcPrepDataTool
diff --git a/Trigger/TrigAlgorithms/TrigMuonEF/src/TrigMuonEFStandaloneTrackTool.cxx b/Trigger/TrigAlgorithms/TrigMuonEF/src/TrigMuonEFStandaloneTrackTool.cxx
index bbcfff28451bb0d6ee2783b25619fedd16919439..dc07c067007e7c0d3a8d50392f78aaa43fdfd7da 100644
--- a/Trigger/TrigAlgorithms/TrigMuonEF/src/TrigMuonEFStandaloneTrackTool.cxx
+++ b/Trigger/TrigAlgorithms/TrigMuonEF/src/TrigMuonEFStandaloneTrackTool.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
 
 #include <algorithm>  // for find
@@ -141,7 +141,8 @@ TrigMuonEFStandaloneTrackTool::TrigMuonEFStandaloneTrackTool(const std::string&
     m_tgcKeyNextBC("TGC_MeasurementsNextBC"),
     m_cscKey("CSC_Clusters"),
     m_mdtKey("MDT_DriftCircles"),
-    m_ignoreCSC(true)
+    m_ignoreCSC(true),
+    m_segmentOverlapRemovalTool("Muon::MuonSegmentOverlapRemovalTool/MuonSegmentOverlapRemovalTool")
 {
   m_hashlist.reserve(4);
 
@@ -196,6 +197,8 @@ TrigMuonEFStandaloneTrackTool::TrigMuonEFStandaloneTrackTool(const std::string&
   declareProperty("CscPrepDataContainer", m_cscKey);
   declareProperty("IgnoreMisalginedCSCs", m_ignoreCSC);
 
+  declareProperty("SegmentOverlapRemovalTool", m_segmentOverlapRemovalTool, "tool to removal overlaps in segment combinations" );
+
   clearRoiCache();
  
 } 
@@ -492,6 +495,9 @@ StatusCode TrigMuonEFStandaloneTrackTool::initialize()
     return StatusCode::FAILURE;
   }
 
+  //segment overlap removal
+  ATH_CHECK( m_segmentOverlapRemovalTool.retrieve() );
+
   return StatusCode::SUCCESS;
 }
 
@@ -1601,6 +1607,9 @@ if (m_useMdtData>0) {
       ATH_MSG_DEBUG("Segment finder return nothing: stop here to process the RoI");
       return HLT::MISSING_FEATURE;
     }
+
+    //remove overlapping segments
+    m_segmentOverlapRemovalTool->removeDuplicates(segColl.get());
     
     /// SegmentCache object takes pointers to be given to m_patternCombiColl and segments
     ATH_MSG_DEBUG("SegmentCache object taking pointers");
diff --git a/Trigger/TrigAlgorithms/TrigMuonEF/src/TrigMuonEFStandaloneTrackTool.h b/Trigger/TrigAlgorithms/TrigMuonEF/src/TrigMuonEFStandaloneTrackTool.h
index fc1145e7793ce37baf55290369fe35ae8507b142..3d51cf88e3b8daeaae41991a4298a766d5f0bc3a 100644
--- a/Trigger/TrigAlgorithms/TrigMuonEF/src/TrigMuonEFStandaloneTrackTool.h
+++ b/Trigger/TrigAlgorithms/TrigMuonEF/src/TrigMuonEFStandaloneTrackTool.h
@@ -37,6 +37,7 @@
 #include "MuonIdHelpers/MuonIdHelperTool.h"
 #include <fstream>
 
+#include "MuonSegmentMakerToolInterfaces/IMuonSegmentOverlapRemovalTool.h"
 #include "CxxUtils/checker_macros.h"
 ATLAS_NO_CHECK_FILE_THREAD_SAFETY;  // legacy trigger code
 
@@ -380,7 +381,7 @@ class TrigMuonEFStandaloneTrackTool : public AthAlgTool,
   SG::ReadHandleKey <Muon::MdtPrepDataContainer> m_mdtKey;
 
   bool m_ignoreCSC;
-
+  ToolHandle<Muon::IMuonSegmentOverlapRemovalTool> m_segmentOverlapRemovalTool;
 
 };