diff --git a/dump-extensions/openpower-dumps/system_dump_entry.cpp b/dump-extensions/openpower-dumps/system_dump_entry.cpp
index 83723b4..eed76bd 100644
--- a/dump-extensions/openpower-dumps/system_dump_entry.cpp
+++ b/dump-extensions/openpower-dumps/system_dump_entry.cpp
@@ -1,5 +1,6 @@
 #include "system_dump_entry.hpp"
 
+#include "dump_utils.hpp"
 #include "host_transport_exts.hpp"
 
 namespace phosphor
@@ -15,6 +16,23 @@
     phosphor::dump::host::requestOffload(sourceDumpId());
 }
 
+void Entry::delete_()
+{
+    auto srcDumpID = sourceDumpId();
+
+    // Remove Dump entry D-bus object
+    phosphor::dump::Entry::delete_();
+
+    // Remove host system dump when host is up by using source dump id
+    // which is present in system dump entry dbus object as a property.
+    BootProgress bootProgressStatus = phosphor::dump::getBootProgress();
+    if ((bootProgressStatus == BootProgress::SystemInitComplete) ||
+        (bootProgressStatus == BootProgress::OSStart) ||
+        (bootProgressStatus == BootProgress::OSRunning))
+    {
+        phosphor::dump::host::requestDelete(srcDumpID);
+    }
+}
 } // namespace system
 } // namespace dump
 } // namespace phosphor
diff --git a/dump-extensions/openpower-dumps/system_dump_entry.hpp b/dump-extensions/openpower-dumps/system_dump_entry.hpp
index 52d857a..96d5f9a 100644
--- a/dump-extensions/openpower-dumps/system_dump_entry.hpp
+++ b/dump-extensions/openpower-dumps/system_dump_entry.hpp
@@ -79,6 +79,11 @@
         status(OperationStatus::Completed);
         completedTime(timeStamp);
     }
+
+    /**
+     * @brief Delete host system dump and it entry dbus object
+     */
+    void delete_() override;
 };
 
 } // namespace system
