diff --git a/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp b/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp
index f6d9db3..812bc4f 100644
--- a/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp
+++ b/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp
@@ -13,7 +13,8 @@
 {
 
 int ProgressCodeHandler::setRawBootProperty(
-    const std::tuple<uint64_t, std::vector<uint8_t>>& progressCodeBuffer)
+    const std::tuple<std::vector<uint8_t>, std::vector<uint8_t>>&
+        progressCodeBuffer)
 {
     static constexpr auto RawObjectPath =
         "/xyz/openbmc_project/state/boot/raw0";
@@ -31,9 +32,11 @@
             pldm::utils::DBusHandler().getService(RawObjectPath, RawInterface);
         auto method = bus.new_method_call(service.c_str(), RawObjectPath,
                                           FreedesktopInterface, SetMethod);
-        method.append(RawInterface, RawProperty,
-                      std::variant<std::tuple<uint64_t, std::vector<uint8_t>>>(
-                          progressCodeBuffer));
+        method.append(
+            RawInterface, RawProperty,
+            std::variant<
+                std::tuple<std::vector<uint8_t>, std::vector<uint8_t>>>(
+                progressCodeBuffer));
 
         bus.call_noreply(method, dbusTimeout);
     }
@@ -61,14 +64,8 @@
 
         // Get the primary code from the offset 40 bytes in the received buffer
 
-        std::vector<uint8_t> primaryCodeArray(
-            secondaryCode.begin() + StartOffset,
-            secondaryCode.begin() + EndOffset);
-        uint64_t primaryCode = 0;
-
-        // form a uint64_t using uint8_t[8]
-        for (int i = 0; i < 8; i++)
-            primaryCode |= (uint64_t)primaryCodeArray[i] << 8 * i;
+        std::vector<uint8_t> primaryCode(secondaryCode.begin() + StartOffset,
+                                         secondaryCode.begin() + EndOffset);
 
         return setRawBootProperty(std::make_tuple(primaryCode, secondaryCode));
     }
diff --git a/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp b/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
index ca0ef25..4beb433 100644
--- a/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
+++ b/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
@@ -59,7 +59,8 @@
      *  @param[in] progressCodeBuffer - the progress Code SRC Buffer
      */
     virtual int setRawBootProperty(
-        const std::tuple<uint64_t, std::vector<uint8_t>>& progressCodeBuffer);
+        const std::tuple<std::vector<uint8_t>, std::vector<uint8_t>>&
+            progressCodeBuffer);
 
     /** @brief ProgressCodeHandler destructor
      */
