diff --git a/src/backend/common/common.cmake b/src/backend/common/common.cmake
index 52a5ee6f1..8a3f2e543 100644
--- a/src/backend/common/common.cmake
+++ b/src/backend/common/common.cmake
@@ -20,7 +20,7 @@ set(SOURCES_BACKEND_COMMON
     src/backend/common/Workers.cpp
    )
 
-if (WITH_RANDOMX AND WITH_BENCHMARK)
+if (WITH_BENCHMARK AND (WITH_RANDOMX OR WITH_GHOSTRIDER))
     list(APPEND HEADERS_BACKEND_COMMON
         src/backend/common/benchmark/Benchmark.h
         src/backend/common/benchmark/BenchState_test.h
diff --git a/src/base/base.cmake b/src/base/base.cmake
index 0f4f87255..63675875f 100644
--- a/src/base/base.cmake
+++ b/src/base/base.cmake
@@ -259,7 +259,7 @@ if (WITH_KAWPOW OR WITH_GHOSTRIDER)
 endif()
 
 
-if (WITH_RANDOMX AND WITH_BENCHMARK)
+if (WITH_BENCHMARK AND (WITH_RANDOMX OR WITH_GHOSTRIDER))
     add_definitions(/DXMRIG_FEATURE_BENCHMARK)
 
     list(APPEND HEADERS_BASE
diff --git a/src/crypto/ghostrider/ghostrider.cpp b/src/crypto/ghostrider/ghostrider.cpp
index 25bb44e74..c0634dab8 100644
--- a/src/crypto/ghostrider/ghostrider.cpp
+++ b/src/crypto/ghostrider/ghostrider.cpp
@@ -333,8 +333,8 @@ void benchmark()
 
         const CnHash::AlgoVariant* av = Cpu::info()->hasAES() ? av_hw_aes : av_soft_aes;
 
-        uint8_t buf[80];
-        uint8_t hash[32 * 8];
+        uint8_t buf[80] = { 0 };
+        uint8_t hash[32 * 8] = { 0 };
 
         LOG_VERBOSE("%24s |  N  | Hashrate", "Algorithm");
         LOG_VERBOSE("-------------------------|-----|-------------");
@@ -540,10 +540,13 @@ HelperThread* create_helper_thread(int64_t cpu_index, int priority, const std::v
             });
 
             if (hwloc_bitmap_weight(helper_cpu_set) > 0) {
+                hwloc_bitmap_free(main_threads_set);
                 return new HelperThread(helper_cpu_set, priority, is8MB);
             }
         }
     }
+    hwloc_bitmap_free(helper_cpu_set);
+    hwloc_bitmap_free(main_threads_set);
 #endif
 
     return nullptr;