diff --git a/src/core/arm/cpu_interrupt_handler.cpp b/src/core/arm/cpu_interrupt_handler.cpp
index df0350881..4c717ebe9 100644
--- a/src/core/arm/cpu_interrupt_handler.cpp
+++ b/src/core/arm/cpu_interrupt_handler.cpp
@@ -7,7 +7,7 @@
 
 namespace Core {
 
-CPUInterruptHandler::CPUInterruptHandler() : is_interrupted{} {
+CPUInterruptHandler::CPUInterruptHandler() {
     interrupt_event = std::make_unique<Common::Event>();
 }
 
diff --git a/src/core/arm/cpu_interrupt_handler.h b/src/core/arm/cpu_interrupt_handler.h
index 3d062d326..61c22fef9 100644
--- a/src/core/arm/cpu_interrupt_handler.h
+++ b/src/core/arm/cpu_interrupt_handler.h
@@ -4,6 +4,7 @@
 
 #pragma once
 
+#include <atomic>
 #include <memory>
 
 namespace Common {
@@ -32,7 +33,7 @@ public:
     void AwaitInterrupt();
 
 private:
-    bool is_interrupted{};
+    std::atomic_bool is_interrupted{false};
     std::unique_ptr<Common::Event> interrupt_event;
 };