diff --git a/message_parsers.cpp b/message_parsers.cpp
index be70753..d43009f 100644
--- a/message_parsers.cpp
+++ b/message_parsers.cpp
@@ -199,15 +199,18 @@
     // Add session sequence number
     internal::addSequenceNumber(packet, session);
 
-    // Add Payload
-    header->payloadLength = endian::to_ipmi<uint16_t>(outMessage.payload.size());
+    size_t payloadLen = 0;
+
+    header->payloadLength = endian::to_ipmi<uint16_t>(
+             outMessage.payload.size());
+    payloadLen = outMessage.payload.size();
     // Insert the Payload into the Packet
     packet.insert(packet.end(), outMessage.payload.begin(),
                   outMessage.payload.end());
 
     if (outMessage.isPacketAuthenticated)
     {
-        internal::addIntegrityData(packet, outMessage);
+        internal::addIntegrityData(packet, outMessage, payloadLen);
     }
 
     return packet;
@@ -281,10 +284,9 @@
 }
 
 void addIntegrityData(std::vector<uint8_t>& packet,
-                      const Message& message)
+                      const Message& message,
+                      size_t payloadLen)
 {
-    auto payloadLen = message.payload.size();
-
     // The following logic calculates the number of padding bytes to be added to
     // IPMI packet. If needed each integrity Pad byte is set to FFh.
     auto paddingLen = 4 - ((payloadLen + 2) & 3);
diff --git a/message_parsers.hpp b/message_parsers.hpp
index d11dc5b..9403687 100644
--- a/message_parsers.hpp
+++ b/message_parsers.hpp
@@ -188,10 +188,12 @@
  * @brief Add Integrity data to the outgoing IPMI packet
  *
  * @param[in] packet - Outgoing IPMI packet
- * @param[in] message - IPMI Message populated from the incoming packet
- *
+ * @param[in] message - IPMI Message populated for the outgoing packet
+ * @param[in] payloadLen - Length of the IPMI payload
  */
-void addIntegrityData(std::vector<uint8_t>& packet, const Message& message);
+void addIntegrityData(std::vector<uint8_t>& packet,
+                      const Message& message,
+                      size_t payloadLen);
 
 } // namespace internal
 
