diff --git a/HLT/Trigger/TrigControl/TrigServices/test/test_TrigMessageSvc.cxx b/HLT/Trigger/TrigControl/TrigServices/test/test_TrigMessageSvc.cxx
index 4ebc8c565aeb62c1189f70e827b1cb40617b43f3..5de50e99a43000d699729dc1c8d2ed91137a61a6 100644
--- a/HLT/Trigger/TrigControl/TrigServices/test/test_TrigMessageSvc.cxx
+++ b/HLT/Trigger/TrigControl/TrigServices/test/test_TrigMessageSvc.cxx
@@ -12,7 +12,12 @@
 #include <chrono>
 #include <cassert>
 
+#ifdef NDEBUG
+static const int timeout = 3000;
+#else
+static const int timeout = 8000;
 #undef NDEBUG
+#endif
 
 constexpr size_t numSources = 1000;
 constexpr size_t numMessages = 50000;
@@ -70,7 +75,7 @@ int main() {
   auto t1 = std::chrono::high_resolution_clock::now();
   auto td = std::chrono::duration_cast<std::chrono::milliseconds>(t1 - t0);
   msgsvc.reportMessage("Benchmark", 3, std::string("Time: ").append(std::to_string(td.count()).append(" ms")));
-  assert(td.count() < 8000);
+  assert(td.count() < timeout);
 
   //--------------------------------------------------
   // Stop and finalise the services