diff --git a/src/ibm/hypervisor-network-mgr-src/hyp_network_manager_main.cpp b/src/ibm/hypervisor-network-mgr-src/hyp_network_manager_main.cpp
index ade3827..336aae2 100644
--- a/src/ibm/hypervisor-network-mgr-src/hyp_network_manager_main.cpp
+++ b/src/ibm/hypervisor-network-mgr-src/hyp_network_manager_main.cpp
@@ -1,9 +1,8 @@
 #include "hyp_network_manager.hpp"
 
-#include <fmt/format.h>
-
 #include <phosphor-logging/log.hpp>
 #include <sdeventplus/event.hpp>
+#include <stdplus/print.hpp>
 
 using phosphor::logging::entry;
 using phosphor::logging::level;
@@ -59,7 +58,7 @@
     }
     catch (const std::exception& e)
     {
-        fmt::print(stderr, "FAILED: {}", e.what());
+        stdplus::print(stderr, "FAILED: {}", e.what());
         fflush(stderr);
         return 1;
     }
diff --git a/src/network_manager.cpp b/src/network_manager.cpp
index 51f0729..b14c106 100644
--- a/src/network_manager.cpp
+++ b/src/network_manager.cpp
@@ -16,6 +16,7 @@
 #include <sdbusplus/message.hpp>
 #include <stdplus/numeric/str.hpp>
 #include <stdplus/pinned.hpp>
+#include <stdplus/print.hpp>
 #include <xyz/openbmc_project/Common/error.hpp>
 
 #include <filesystem>
@@ -247,7 +248,7 @@
         if (nit != interfaces.end() && iit != interfacesByIdx.end() &&
             nit->second.get() != iit->second)
         {
-            fmt::print(stderr, "Removed interface desync detected\n");
+            stdplus::print(stderr, "Removed interface desync detected\n");
             fflush(stderr);
             std::abort();
         }
diff --git a/src/network_manager_main.cpp b/src/network_manager_main.cpp
index b4150a1..3af3a84 100644
--- a/src/network_manager_main.cpp
+++ b/src/network_manager_main.cpp
@@ -7,8 +7,6 @@
 #include "rtnetlink_server.hpp"
 #include "types.hpp"
 
-#include <fmt/format.h>
-
 #include <phosphor-logging/lg2.hpp>
 #include <sdbusplus/bus.hpp>
 #include <sdbusplus/server/manager.hpp>
@@ -18,6 +16,7 @@
 #include <sdeventplus/utility/sdbus.hpp>
 #include <sdeventplus/utility/timer.hpp>
 #include <stdplus/pinned.hpp>
+#include <stdplus/print.hpp>
 #include <stdplus/signal.hpp>
 
 #include <chrono>
@@ -90,7 +89,7 @@
     }
     catch (const std::exception& e)
     {
-        fmt::print(stderr, "FAILED: {}", e.what());
+        stdplus::print(stderr, "FAILED: {}", e.what());
         fflush(stderr);
         return 1;
     }
diff --git a/test/test_config_parser.cpp b/test/test_config_parser.cpp
index 2948c73..779f561 100644
--- a/test/test_config_parser.cpp
+++ b/test/test_config_parser.cpp
@@ -1,13 +1,12 @@
 #include "config_parser.hpp"
 
-#include <fmt/chrono.h>
 #include <fmt/compile.h>
-#include <fmt/format.h>
 
 #include <phosphor-logging/elog-errors.hpp>
 #include <stdplus/fd/atomic.hpp>
 #include <stdplus/fd/fmt.hpp>
 #include <stdplus/gtest/tmp.hpp>
+#include <stdplus/print.hpp>
 #include <xyz/openbmc_project/Common/error.hpp>
 
 #include <exception>
@@ -199,7 +198,7 @@
 
     auto start = std::chrono::steady_clock::now();
     parser.setFile(filename);
-    fmt::print("Duration: {}\n", std::chrono::steady_clock::now() - start);
+    stdplus::print("Duration: {}\n", std::chrono::steady_clock::now() - start);
     // Make sure this test isn't enabled
     EXPECT_FALSE(true);
 }
