diff --git a/src/shared/drivers/canbus/CanProtocol/CanProtocol.cpp b/src/shared/drivers/canbus/CanProtocol/CanProtocol.cpp
index b4d64afdd0d4a0a5e894e41b6ffb7168595a2c53..546d5879bed167c150e046c57b134fd1949a7f98 100644
--- a/src/shared/drivers/canbus/CanProtocol/CanProtocol.cpp
+++ b/src/shared/drivers/canbus/CanProtocol/CanProtocol.cpp
@@ -32,14 +32,14 @@ namespace Canbus
 
 CanProtocol::CanProtocol(CanbusDriver* can, MsgHandler onReceive,
                          uint32_t baudRate)
-    : can(can), onReceive(onReceive)
+    : can(can), onReceive(onReceive), baudRate(baudRate)
 {
-    loadEstimator = new BusLoadEstimation(baudRate);
 }
 
 bool CanProtocol::start()
 {
-    stopFlag = false;
+    loadEstimator = new BusLoadEstimation(baudRate);
+    stopFlag      = false;
 
     if (can == nullptr)
         return false;
diff --git a/src/shared/drivers/canbus/CanProtocol/CanProtocol.h b/src/shared/drivers/canbus/CanProtocol/CanProtocol.h
index c68c83ade94cdcb2645ef20ebb31a77d1620d9ea..a95ddd8a9c2457248d80e32fd48ec5f8964edddc 100644
--- a/src/shared/drivers/canbus/CanProtocol/CanProtocol.h
+++ b/src/shared/drivers/canbus/CanProtocol/CanProtocol.h
@@ -195,7 +195,9 @@ private:
 
     SyncCircularBuffer<CanMessage, 10> outQueue;
 
-    BusLoadEstimation* loadEstimator;
+    uint32_t baudRate;
+
+    BusLoadEstimation* loadEstimator = NULL;
 
     PrintLogger logger = Logging::getLogger("canprotocol");
 };