diff --git a/extensions/openpower-pels/pel.cpp b/extensions/openpower-pels/pel.cpp
index af904ff..29d86d5 100644
--- a/extensions/openpower-pels/pel.cpp
+++ b/extensions/openpower-pels/pel.cpp
@@ -37,7 +37,7 @@
         _optionalSections.push_back(std::move(ud));
     }
 
-    _ph->sectionCount() = 2 + _optionalSections.size();
+    _ph->setSectionCount(2 + _optionalSections.size());
 }
 
 PEL::PEL(std::vector<uint8_t>& data) : PEL(data, 0)
@@ -55,7 +55,7 @@
     _ph = std::make_unique<PrivateHeader>(pelData);
     if (obmcLogID != 0)
     {
-        _ph->obmcLogID() = obmcLogID;
+        _ph->setOBMCLogID(obmcLogID);
     }
 
     _uh = std::make_unique<UserHeader>(pelData);
@@ -92,12 +92,12 @@
 void PEL::setCommitTime()
 {
     auto now = std::chrono::system_clock::now();
-    _ph->commitTimestamp() = getBCDTime(now);
+    _ph->setCommitTimestamp(getBCDTime(now));
 }
 
 void PEL::assignID()
 {
-    _ph->id() = generatePELID();
+    _ph->setID(generatePELID());
 }
 
 void PEL::flatten(std::vector<uint8_t>& pelBuffer)
