diff --git a/src/shared/Modules/Mavlink/BaseMavlinkModule.cpp b/src/shared/Modules/Mavlink/BaseMavlinkModule.cpp
index b9e9bcfaaf75e76e6d5863b91936bbcac95336d9..b10f1a693c1aff77bb901f4a028706f5e897ec49 100644
--- a/src/shared/Modules/Mavlink/BaseMavlinkModule.cpp
+++ b/src/shared/Modules/Mavlink/BaseMavlinkModule.cpp
@@ -227,15 +227,15 @@ void BaseMavlinkModule::setupUi()
 
     outerLayout->addStretch();
 
-    rateLabel = new QLabel("Rate: 0 msg/s");
+    rateLabel = std::make_unique<QLabel>("Rate: 0 msg/s");
     rateLabel->setSizePolicy(
         QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed));
-    outerLayout->addWidget(rateLabel);
+    outerLayout->addWidget(rateLabel.get());
 
-    logCheckBox = new QCheckBox("Enable log");
+    logCheckBox = std::make_unique<QCheckBox>("Enable log");
     logCheckBox->setSizePolicy(
         QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed));
-    outerLayout->addWidget(logCheckBox);
+    outerLayout->addWidget(logCheckBox.get());
 
     QPushButton *openLogFolderButton = new QPushButton("Log folder");
     openLogFolderButton->setSizePolicy(
diff --git a/src/shared/Modules/Mavlink/BaseMavlinkModule.h b/src/shared/Modules/Mavlink/BaseMavlinkModule.h
index d7911d1022f2198163167981423f0463bba1132d..a569d21227bff82af61db4d28506d4a6e1ffe4e0 100644
--- a/src/shared/Modules/Mavlink/BaseMavlinkModule.h
+++ b/src/shared/Modules/Mavlink/BaseMavlinkModule.h
@@ -24,6 +24,7 @@
 
 #include <QTimer>
 #include <QWidget>
+#include <memory>
 
 #include "MavlinkCodec.h"
 #include "Ports/MavlinkPort.h"
@@ -78,8 +79,8 @@ private:
     ToggleButton *startToggleButton;
     QComboBox *sysIdComboBox;
 
-    QLabel *rateLabel;
-    QCheckBox *logCheckBox;
+    std::unique_ptr<QLabel> rateLabel;
+    std::unique_ptr<QCheckBox> logCheckBox;
 
     QTimer linkQualityTimer;
     const int linkQualityPeriod = 2000;  // [ms]