diff --git a/control/json/actions/override_fan_target.cpp b/control/json/actions/override_fan_target.cpp
index c5e15ad..33fbd34 100644
--- a/control/json/actions/override_fan_target.cpp
+++ b/control/json/actions/override_fan_target.cpp
@@ -20,11 +20,10 @@
 #include "action.hpp"
 #include "group.hpp"
 
-#include <fmt/format.h>
-#include <fmt/ranges.h>
-
 #include <nlohmann/json.hpp>
 
+#include <format>
+
 namespace phosphor::fan::control::json
 {
 
@@ -83,8 +82,17 @@
 {
     if (!_locked)
     {
-        record(fmt::format("Adding fan target lock of {} on fans {} zone {}",
-                           _target, _fans, zone.getName()));
+        std::string fanList;
+        if (!_fans.empty())
+        {
+            fanList = std::accumulate(std::next(_fans.begin()), _fans.end(),
+                                      _fans[0], [](auto list, auto fan) {
+                                          return std::move(list) + ", " + fan;
+                                      });
+        }
+
+        record(std::format("Adding fan target lock of {} on fans [{}] zone {}",
+                           _target, fanList, zone.getName()));
 
         for (auto& fan : _fans)
         {
@@ -97,8 +105,16 @@
 
 void OverrideFanTarget::unlockFans(Zone& zone)
 {
-    record(fmt::format("Un-locking fan target {} on fans {} zone {}", _target,
-                       _fans, zone.getName()));
+    std::string fanList;
+    if (!_fans.empty())
+    {
+        fanList = std::accumulate(
+            std::next(_fans.begin()), _fans.end(), _fans[0],
+            [](auto list, auto fan) { return std::move(list) + ", " + fan; });
+    }
+
+    record(std::format("Un-locking fan target {} on fans [{}] zone {}", _target,
+                       fanList, zone.getName()));
 
     // unlock all fans in this instance
     for (auto& fan : _fans)
diff --git a/control/meson.build b/control/meson.build
index aa77784..6869043 100644
--- a/control/meson.build
+++ b/control/meson.build
@@ -100,7 +100,6 @@
   'fanctl.cpp',
       dependencies: [
           cli11_dep,
-          fmt_dep,
           json_dep,
           phosphor_logging_dep,
           sdbusplus_dep,
