diff --git a/src/boards/HeliTest/FlightModeManager/HeliFMM.cpp b/src/boards/HeliTest/FlightModeManager/HeliFMM.cpp
index 14f2ab928a9706de989838f6cad45f89643b7d64..bd21ca2ca8dc0d4467de2eeaf967a0ee4cfb7fc2 100644
--- a/src/boards/HeliTest/FlightModeManager/HeliFMM.cpp
+++ b/src/boards/HeliTest/FlightModeManager/HeliFMM.cpp
@@ -42,9 +42,13 @@ HeliFMM::HeliFMM() : FSM(&HeliFMM::bootedState)
     sEventBroker->subscribe(this, TOPIC_USER_INPUT);
     sEventBroker->subscribe(this, TOPIC_STATUS);
     sEventBroker->subscribe(this, TOPIC_FSM);
+
+    memset(&status, 0, sizeof(HeliStatus));
 }
 
-HeliFMM::~HeliFMM() {}
+HeliFMM::~HeliFMM() {
+    sEventBroker->unsubscribe(this);
+}
 
 HeliStatus HeliFMM::getStatus() { return status; }