diff --git a/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackFinderTools/src/MuonTrackCleaner.cxx b/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackFinderTools/src/MuonTrackCleaner.cxx
index 6d28a71a675570ec11144928866bcdd3fbdb7571..89e4df46b375ec552edeb47023848c1cb5f2d83c 100644
--- a/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackFinderTools/src/MuonTrackCleaner.cxx
+++ b/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackFinderTools/src/MuonTrackCleaner.cxx
@@ -1045,7 +1045,7 @@ namespace Muon {
       }
 
       std::unique_ptr<MdtDriftCircleOnTrack> mdtRotFlipped;
-      std::unique_ptr<CompetingMuonClustersOnTrack> updatedCompRot;
+      std::unique_ptr<const CompetingMuonClustersOnTrack> updatedCompRot;
       bool flipSign = false;
       if( !pseudo ){
 	const MdtDriftCircleOnTrack* mdtRot = isMDT ? dynamic_cast<const MdtDriftCircleOnTrack*>(meas) : 0;
@@ -1176,9 +1176,7 @@ namespace Muon {
 	      if( prdList.empty() ){
 		ATH_MSG_WARNING("No clusters selected during comprot cleaning, keeping old cluster" );
 	      }else{
-		//TODO: createBroadCluster returns a const object so a workaround is needed to get a unique pointer, this should be fixed in some fashion 
-		CompetingMuonClustersOnTrack tempCompRot=*m_compRotCreator->createBroadCluster(prdList,0.);
-		updatedCompRot = std::make_unique<CompetingMuonClustersOnTrack>(tempCompRot);
+		updatedCompRot.reset(m_compRotCreator->createBroadCluster(prdList,0.));
 		++state.numberOfCleanedCompROTs;
 	      }
 	    }
diff --git a/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackFinderTools/src/MuonTrackCleaner.h b/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackFinderTools/src/MuonTrackCleaner.h
index f6e86b22a97745d70c6eafcd6ba088b2abbcfdbe..d7f06d97874537921c547e16a69dafef9f94551b 100644
--- a/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackFinderTools/src/MuonTrackCleaner.h
+++ b/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackFinderTools/src/MuonTrackCleaner.h
@@ -62,7 +62,7 @@ namespace Muon {
       const Trk::TrackParameters*  pars;
       std::unique_ptr<Trk::ResidualPull>     resPull;
       std::unique_ptr<MdtDriftCircleOnTrack> flippedMdt;
-      std::unique_ptr<CompetingMuonClustersOnTrack> cleanedCompROT;
+      std::unique_ptr<const CompetingMuonClustersOnTrack> cleanedCompROT;
       const Trk::FitQuality*       fitQ;
 
       MCTBCleaningInfo( const Trk::TrackStateOnSurface* orState ) :