diff --git a/extensions/openpower-pels/private_header.cpp b/extensions/openpower-pels/private_header.cpp
index ff49535..1b4fdbb 100644
--- a/extensions/openpower-pels/private_header.cpp
+++ b/extensions/openpower-pels/private_header.cpp
@@ -20,10 +20,10 @@
 #include "pel_types.hpp"
 #include "pel_values.hpp"
 
-#include <fmt/format.h>
-
 #include <phosphor-logging/log.hpp>
 
+#include <format>
+
 namespace openpower
 {
 namespace pels
@@ -80,7 +80,7 @@
     catch (const std::exception& e)
     {
         log<level::ERR>(
-            fmt::format("Cannot unflatten private header: {}", e.what())
+            std::format("Cannot unflatten private header: {}", e.what())
                 .c_str());
         _valid = false;
     }
@@ -129,7 +129,7 @@
 
     if (header().id != static_cast<uint16_t>(SectionID::privateHeader))
     {
-        log<level::ERR>(fmt::format("Invalid private header section ID: {0:#x}",
+        log<level::ERR>(std::format("Invalid private header section ID: {0:#x}",
                                     header().id)
                             .c_str());
         failed = true;
@@ -137,7 +137,7 @@
 
     if (header().version != privateHeaderVersion)
     {
-        log<level::ERR>(fmt::format("Invalid private header version: {0:#x}",
+        log<level::ERR>(std::format("Invalid private header version: {0:#x}",
                                     header().version)
                             .c_str());
         failed = true;
@@ -146,7 +146,7 @@
     if (_sectionCount < minSectionCount)
     {
         log<level::ERR>(
-            fmt::format("Invalid section count in private header: {0:#x}",
+            std::format("Invalid section count in private header: {0:#x}",
                         _sectionCount)
                 .c_str());
         failed = true;
