diff --git a/oem/ibm/libpldmresponder/file_io_type_dump.cpp b/oem/ibm/libpldmresponder/file_io_type_dump.cpp
index 985a278..37cbb56 100644
--- a/oem/ibm/libpldmresponder/file_io_type_dump.cpp
+++ b/oem/ibm/libpldmresponder/file_io_type_dump.cpp
@@ -115,23 +115,6 @@
     {
         // Setting the Notify path for resource dump
         notifyObjPath = resDumpObjPath;
-
-        uint32_t sourceDumpId = fileHandle;
-        auto path = findDumpObjPath(fileHandle);
-
-        pldm::utils::PropertyValue propValue{sourceDumpId};
-
-        DBusMapping dbusMapping{path, resDumpEntry, "SourceDumpId", "uint32_t"};
-        try
-        {
-            pldm::utils::DBusHandler().setDbusProperty(dbusMapping, propValue);
-        }
-        catch (const std::exception& e)
-        {
-            std::cerr << "failed to make a d-bus call to DUMP manager to set "
-                         "resource dump SourceDumpId, ERROR="
-                      << e.what() << "\n";
-        }
     }
 
     try
diff --git a/oem/ibm/requester/dbus_to_file_handler.cpp b/oem/ibm/requester/dbus_to_file_handler.cpp
index 44eb5f7..5f0d7b8 100644
--- a/oem/ibm/requester/dbus_to_file_handler.cpp
+++ b/oem/ibm/requester/dbus_to_file_handler.cpp
@@ -113,28 +113,6 @@
 void DbusToFileHandler::processNewResourceDump(
     const std::string& vspString, const std::string& resDumpReqPass)
 {
-    // This needs special handling in later point of time. Resource dump without
-    // the vsp string is supposed to be a non-disruptive system dump.
-    if (vspString.empty())
-    {
-        std::cerr << "Empty vsp string"
-                  << "\n";
-        PropertyValue value{resDumpStatus};
-        DBusMapping dbusMapping{resDumpCurrentObjPath, resDumpProgressIntf,
-                                "Status", "string"};
-        try
-        {
-            pldm::utils::DBusHandler().setDbusProperty(dbusMapping, value);
-        }
-        catch (const std::exception& e)
-        {
-            std::cerr << "failed to set resource dump operation status, "
-                         "ERROR="
-                      << e.what() << "\n";
-        }
-        return;
-    }
-
     namespace fs = std::filesystem;
     const fs::path resDumpDirPath = "/var/lib/pldm/resourcedump";
 
