diff --git a/src/core/core_timing.cpp b/src/core/core_timing.cpp
index c85590d4c5ccaa92f385a4174796fa2093df488a..fc536413b7a01fe1dee711d2a416f2a3f0179908 100644
--- a/src/core/core_timing.cpp
+++ b/src/core/core_timing.cpp
@@ -72,8 +72,9 @@ void CoreTiming::Initialize(std::function<void()>&& on_thread_init_) {
 }
 
 void CoreTiming::ClearPendingEvents() {
-    std::scoped_lock lock{basic_lock};
+    std::scoped_lock lock{advance_lock, basic_lock};
     event_queue.clear();
+    event.Set();
 }
 
 void CoreTiming::Pause(bool is_paused) {