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 be78718..adc9c48 100644
--- a/host-transport-extensions/pldm/oem/ibm/pldm_oem_cmds.cpp
+++ b/host-transport-extensions/pldm/oem/ibm/pldm_oem_cmds.cpp
@@ -57,14 +57,6 @@
 using InternalFailure =
     sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure;
 
-void closeFD(int fd)
-{
-    if (fd >= 0)
-    {
-        close(fd);
-    }
-}
-
 mctp_eid_t readEID()
 {
     mctp_eid_t eid = defaultEIDValue;
@@ -124,13 +116,12 @@
     uint8_t* responseMsg = nullptr;
     size_t responseMsgSize{};
 
-    auto fd = openPLDM();
+    CustomFd fd(openPLDM());
 
-    rc = pldm_send_recv(eid, fd, requestMsg.data(), requestMsg.size(),
+    rc = pldm_send_recv(eid, fd(), requestMsg.data(), requestMsg.size(),
                         &responseMsg, &responseMsgSize);
     if (rc < 0)
     {
-        closeFD(fd);
         auto e = errno;
         log<level::ERR>("pldm_send failed", entry("RC=%d", rc),
                         entry("ERRNO=%d", e));
@@ -140,8 +131,6 @@
     log<level::INFO>(
         "Done. PLDM message",
         entry("RC=%d", static_cast<uint16_t>(response->payload[0])));
-
-    closeFD(fd);
 }
 
 } // namespace pldm
diff --git a/host-transport-extensions/pldm/oem/ibm/pldm_oem_cmds.hpp b/host-transport-extensions/pldm/oem/ibm/pldm_oem_cmds.hpp
index 7e652f5..9b2fdb3 100644
--- a/host-transport-extensions/pldm/oem/ibm/pldm_oem_cmds.hpp
+++ b/host-transport-extensions/pldm/oem/ibm/pldm_oem_cmds.hpp
@@ -43,11 +43,6 @@
  */
 mctp_eid_t readEID();
 
-/**
- * @brief Closes the PLDM file descriptor
- */
-void closeFD(int fd);
-
 } // namespace pldm
 } // namespace dump
 } // namespace phosphor
