diff --git a/dump-extensions/openpower-dumps/resource_dump_entry.cpp b/dump-extensions/openpower-dumps/resource_dump_entry.cpp
index ac745b5..692ec14 100644
--- a/dump-extensions/openpower-dumps/resource_dump_entry.cpp
+++ b/dump-extensions/openpower-dumps/resource_dump_entry.cpp
@@ -28,8 +28,8 @@
     using Reason = xyz::openbmc_project::Common::NotAllowed::REASON;
     log<level::INFO>(
         fmt::format(
-            "Resource dump offload request id({}) uri({}) source dumpid()", id,
-            uri, sourceDumpId())
+            "Resource dump offload request id({}) uri({}) source dumpid({})",
+            id, uri, sourceDumpId())
             .c_str());
 
     if (!phosphor::dump::isHostRunning())
diff --git a/host-transport-extensions/pldm/oem/ibm/pldm_oem_cmds.cpp b/host-transport-extensions/pldm/oem/ibm/pldm_oem_cmds.cpp
index 21be03a..1c9d703 100644
--- a/host-transport-extensions/pldm/oem/ibm/pldm_oem_cmds.cpp
+++ b/host-transport-extensions/pldm/oem/ibm/pldm_oem_cmds.cpp
@@ -126,13 +126,13 @@
                                 "allowed due to encode failed"));
     }
 
-    uint8_t* responseMsg = nullptr;
-    size_t responseMsgSize{};
-
     CustomFd fd(openPLDM());
 
-    rc = pldm_send_recv(eid, fd(), requestMsg.data(), requestMsg.size(),
-                        &responseMsg, &responseMsgSize);
+    log<level::INFO>(
+        fmt::format("Sending request to offload dump id({}), eid({})", id, eid)
+            .c_str());
+
+    rc = pldm_send(eid, fd(), requestMsg.data(), requestMsg.size());
     if (rc < 0)
     {
         auto e = errno;
@@ -141,10 +141,8 @@
         elog<NotAllowed>(Reason("Host dump offload via pldm is not "
                                 "allowed due to fileack send failed"));
     }
-    pldm_msg* response = reinterpret_cast<pldm_msg*>(responseMsg);
-    log<level::INFO>(fmt::format("Done. PLDM message, RC({})",
-                                 static_cast<uint16_t>(response->payload[0]))
-                         .c_str());
+    log<level::INFO>(
+        fmt::format("Done. PLDM message, id({} )RC({})", id, rc).c_str());
 }
 
 void requestDelete(uint32_t dumpId, uint32_t dumpType)
