diff --git a/src/core/arm/dynarmic/arm_dynarmic.cpp b/src/core/arm/dynarmic/arm_dynarmic.cpp
index 8b450dc54f6d1b69a22db96614a40caacf616763..32cd5746e133568dde81f731fe912352c8a6f932 100644
--- a/src/core/arm/dynarmic/arm_dynarmic.cpp
+++ b/src/core/arm/dynarmic/arm_dynarmic.cpp
@@ -82,6 +82,7 @@ public:
             return;
         case Dynarmic::A64::Exception::Breakpoint:
             if (GDBStub::IsServerEnabled()) {
+                parent.jit->HaltExecution();
                 parent.SetPC(pc);
                 Kernel::Thread* thread = Kernel::GetCurrentThread();
                 parent.SaveContext(thread->context);