diff --git a/dump-extensions/openpower-dumps/dump_manager_system.cpp b/dump-extensions/openpower-dumps/dump_manager_system.cpp
index 5d5890d..52bb956 100644
--- a/dump-extensions/openpower-dumps/dump_manager_system.cpp
+++ b/dump-extensions/openpower-dumps/dump_manager_system.cpp
@@ -18,15 +18,9 @@
 using namespace phosphor::logging;
 using namespace sdbusplus::xyz::openbmc_project::Common::Error;
 
-void Manager::notify(NewDump::DumpType dumpType, uint32_t dumpId, uint64_t size)
+void Manager::notify(uint32_t dumpId, uint64_t size)
 {
 
-    if (dumpType != NewDump::DumpType::System)
-    {
-        log<level::ERR>("Only system dump is supported",
-                        entry("DUMPTYPE=%d", dumpType));
-        return;
-    }
     // Get the timestamp
     std::time_t timeStamp = std::time(nullptr);
 
diff --git a/dump-extensions/openpower-dumps/dump_manager_system.hpp b/dump-extensions/openpower-dumps/dump_manager_system.hpp
index 3c1c9ae..61e4218 100644
--- a/dump-extensions/openpower-dumps/dump_manager_system.hpp
+++ b/dump-extensions/openpower-dumps/dump_manager_system.hpp
@@ -56,12 +56,10 @@
     }
 
     /** @brief Notify the system dump manager about creation of a new dump.
-     *  @param[in] dumpType - Type of the Dump.
      *  @param[in] dumpId - Id from the source of the dump.
      *  @param[in] size - Size of the dump.
      */
-    void notify(NewDump::DumpType dumpType, uint32_t dumpId,
-                uint64_t size) override;
+    void notify(uint32_t dumpId, uint64_t size) override;
 
     /** @brief Implementation for CreateDump
      *  Method to create a new system dump entry when user
