diff --git a/extensions/openpower-pels/user_data.cpp b/extensions/openpower-pels/user_data.cpp
index 72b216c..b2ebd3c 100644
--- a/extensions/openpower-pels/user_data.cpp
+++ b/extensions/openpower-pels/user_data.cpp
@@ -70,7 +70,7 @@
                    const std::vector<uint8_t>& data)
 {
     _header.id = static_cast<uint16_t>(SectionID::userData);
-    _header.size = Section::flattenedSize() + data.size();
+    _header.size = Section::headerSize() + data.size();
     _header.version = version;
     _header.subType = subType;
     _header.componentID = componentID;
@@ -108,14 +108,13 @@
 bool UserData::shrink(size_t newSize)
 {
     // minimum size is 4 bytes plus the 8B header
-    if ((newSize < flattenedSize()) &&
-        (newSize >= (Section::flattenedSize() + 4)))
+    if ((newSize < flattenedSize()) && (newSize >= (Section::headerSize() + 4)))
     {
-        auto dataSize = newSize - Section::flattenedSize();
+        auto dataSize = newSize - Section::headerSize();
 
         // Ensure it's 4B aligned
         _data.resize((dataSize / 4) * 4);
-        _header.size = Section::flattenedSize() + _data.size();
+        _header.size = Section::headerSize() + _data.size();
         return true;
     }
 
