diff --git a/Trigger/TrigMonitoring/TrigSteerMonitor/src/TrigSignatureMoniMT.cxx b/Trigger/TrigMonitoring/TrigSteerMonitor/src/TrigSignatureMoniMT.cxx
index 1c6367b9e506cdf23098d6a5dc01eee907d5c58c..65dfdf13ac5e54a459af76799c63445ae17740ba 100644
--- a/Trigger/TrigMonitoring/TrigSteerMonitor/src/TrigSignatureMoniMT.cxx
+++ b/Trigger/TrigMonitoring/TrigSteerMonitor/src/TrigSignatureMoniMT.cxx
@@ -549,7 +549,6 @@ StatusCode TrigSignatureMoniMT::initBunchHist(LockedHandle<TH2>& hist, SG::ReadH
   return StatusCode::SUCCESS;
 }
 
-
 TrigSignatureMoniMT::RateHistogram::~RateHistogram(){
   delete m_bufferHistogram.get();
 }
@@ -590,13 +589,6 @@ void TrigSignatureMoniMT::RateHistogram::startTimer(unsigned int duration, unsig
 
 void TrigSignatureMoniMT::RateHistogram::stopTimer() {
   if (m_timer) {
-    m_stopCallback = true;
-
-    // wait for the pending signals to be stopped
-    while (m_stopCallback) {
-      usleep(m_duration*50*1000); //microseconds
-    }
-
     m_timer.reset();
     time_t t = time(0);
     unsigned int interval;
@@ -619,13 +611,10 @@ void TrigSignatureMoniMT::RateHistogram::callback() const {
   unsigned int newinterval;
   unsigned int oldinterval;
 
-  if (m_timeDivider->isPassed(t, newinterval, oldinterval)) {
+  if ( m_timeDivider->isPassed(t, newinterval, oldinterval) ) {
     updatePublished(m_duration);
   }
 
-  //stop callback if timer is going to be deleted
-  //else schedule itself in another 1/20 of the integration period in milliseconds
-  if (bool exp=true; not m_stopCallback.compare_exchange_strong(exp,false)) {
-	m_timer->start(m_duration*50);
-  }
+  //schedule itself in another 1/20 of the integration period in milliseconds
+  if ( m_timer ) m_timer->start(m_duration*50);
 }
diff --git a/Trigger/TrigMonitoring/TrigSteerMonitor/src/TrigSignatureMoniMT.h b/Trigger/TrigMonitoring/TrigSteerMonitor/src/TrigSignatureMoniMT.h
index b8577dc9af617e0024b3fb2b030bcbae232cf23e..4ed41f5a1df2e076e24607e3043cb404cdba4edc 100644
--- a/Trigger/TrigMonitoring/TrigSteerMonitor/src/TrigSignatureMoniMT.h
+++ b/Trigger/TrigMonitoring/TrigSteerMonitor/src/TrigSignatureMoniMT.h
@@ -67,7 +67,6 @@ class TrigSignatureMoniMT : public extends<AthReentrantAlgorithm, IIncidentListe
     mutable LockedHandle<TH2> m_bufferHistogram;
     mutable LockedHandle<TH2> m_histogram;
     std::mutex m_mutex;
-    mutable std::atomic_bool m_stopCallback {false};
     std::unique_ptr<Athena::AlgorithmTimer> m_timer;
     std::unique_ptr<TimeDivider> m_timeDivider;
     unsigned int m_duration;