diff --git a/lib/arm_profiler/include/arm_profiler.hpp b/lib/arm_profiler/include/arm_profiler.hpp
index f5206fe..36adb8d 100644
--- a/lib/arm_profiler/include/arm_profiler.hpp
+++ b/lib/arm_profiler/include/arm_profiler.hpp
@@ -38,7 +38,7 @@
     std::unique_ptr<int32_t[]> start_ticks_;
     std::unique_ptr<int32_t[]> end_ticks_;
 
-    int num_events_ = 0;
+    size_t num_events_;
 
     TF_LITE_REMOVE_VIRTUAL_DELETE;
 };
diff --git a/lib/arm_profiler/src/arm_profiler.cpp b/lib/arm_profiler/src/arm_profiler.cpp
index c58037f..95bc3e4 100644
--- a/lib/arm_profiler/src/arm_profiler.cpp
+++ b/lib/arm_profiler/src/arm_profiler.cpp
@@ -28,7 +28,7 @@
 
 namespace tflite {
 
-ArmProfiler::ArmProfiler(size_t max_events) : max_events_(max_events) {
+ArmProfiler::ArmProfiler(size_t max_events) : max_events_(max_events), num_events_(0) {
     tags_        = std::make_unique<const char *[]>(max_events_);
     start_ticks_ = std::make_unique<int32_t[]>(max_events_);
     end_ticks_   = std::make_unique<int32_t[]>(max_events_);
@@ -39,9 +39,11 @@
         tflite::GetMicroErrorReporter()->Report("Profiling event overflow, max: %u events", max_events_);
         num_events_ = 0;
     }
+
     tags_[num_events_]        = tag;
     start_ticks_[num_events_] = GetCurrentTimeTicks();
     end_ticks_[num_events_]   = start_ticks_[num_events_] - 1;
+
     return num_events_++;
 }
 
@@ -54,9 +56,11 @@
 
 int32_t ArmProfiler::GetTotalTicks() const {
     int32_t ticks = 0;
-    for (int i = 0; i < num_events_; ++i) {
+
+    for (size_t i = 0; i < num_events_; ++i) {
         ticks += end_ticks_[i] - start_ticks_[i];
     }
+
     return ticks;
 }
 
diff --git a/lib/ethosu_profiler/include/ethosu_profiler.hpp b/lib/ethosu_profiler/include/ethosu_profiler.hpp
index 503ebba..12c337c 100644
--- a/lib/ethosu_profiler/include/ethosu_profiler.hpp
+++ b/lib/ethosu_profiler/include/ethosu_profiler.hpp
@@ -39,8 +39,7 @@
     std::unique_ptr<const char *[]> tags_;
     std::unique_ptr<uint64_t[]> start_ticks_;
     std::unique_ptr<uint64_t[]> end_ticks_;
-
-    int num_events_ = 0;
+    size_t num_events_;
 
     TF_LITE_REMOVE_VIRTUAL_DELETE;
 };
diff --git a/lib/ethosu_profiler/src/ethosu_profiler.cpp b/lib/ethosu_profiler/src/ethosu_profiler.cpp
index bf4aae7..50b65f0 100644
--- a/lib/ethosu_profiler/src/ethosu_profiler.cpp
+++ b/lib/ethosu_profiler/src/ethosu_profiler.cpp
@@ -38,7 +38,7 @@
 
 namespace tflite {
 
-EthosUProfiler::EthosUProfiler(size_t max_events) : max_events_(max_events) {
+EthosUProfiler::EthosUProfiler(size_t max_events) : max_events_(max_events), num_events_(0) {
     tags_        = std::make_unique<const char *[]>(max_events_);
     start_ticks_ = std::make_unique<uint64_t[]>(max_events_);
     end_ticks_   = std::make_unique<uint64_t[]>(max_events_);
@@ -92,7 +92,8 @@
 
 uint64_t EthosUProfiler::GetTotalTicks() const {
     uint64_t ticks = 0;
-    for (int i = 0; i < num_events_; ++i) {
+
+    for (size_t i = 0; i < num_events_; ++i) {
         ticks += end_ticks_[i] - start_ticks_[i];
     }
 
