diff --git a/meson.build b/meson.build
index 3a1e010..42e40af 100644
--- a/meson.build
+++ b/meson.build
@@ -19,7 +19,6 @@
 conf_data.set_quoted('PDR_JSONS_DIR', '/usr/share/pldm/pdr')
 if get_option('oem-ibm').enabled()
   conf_data.set_quoted('FILE_TABLE_JSON', '/usr/share/pldm/fileTable.json')
-  conf_data.set_quoted('PEL_TEMP_DIR', '/tmp/pel')
   conf_data.set_quoted('LID_PERM_DIR', '/var/lib/pldm/lid')
   conf_data.set_quoted('LID_TEMP_DIR', '/var/lib/pldm/lid/temp')
   add_global_arguments('-DOEM_IBM', language : 'c')
diff --git a/oem/ibm/libpldmresponder/file_io_type_pel.cpp b/oem/ibm/libpldmresponder/file_io_type_pel.cpp
index 01919b9..a5fa49a 100644
--- a/oem/ibm/libpldmresponder/file_io_type_pel.cpp
+++ b/oem/ibm/libpldmresponder/file_io_type_pel.cpp
@@ -40,15 +40,16 @@
 int PelHandler::writeFromMemory(uint32_t offset, uint32_t length,
                                 uint64_t address)
 {
-    fs::create_directories(PEL_TEMP_DIR);
-
-    auto timeMs =
-        std::chrono::duration_cast<std::chrono::milliseconds>(
-            std::chrono::high_resolution_clock::now().time_since_epoch())
-            .count();
-    std::string fileName(PEL_TEMP_DIR);
-    fileName += "/pel." + std::to_string(timeMs);
-    fs::path path(std::move(fileName));
+    char tmpFile[] = "/tmp/pel.XXXXXX";
+    int fd = mkstemp(tmpFile);
+    if (fd == -1)
+    {
+        log<level::ERR>("failed to create a temporary pel",
+                        entry("ERROR=%d", errno));
+        return PLDM_ERROR;
+    }
+    close(fd);
+    fs::path path(tmpFile);
 
     auto rc = transferFileData(path, false, offset, length, address);
     if (rc == PLDM_SUCCESS)
