diff --git a/bmc_dump_entry.hpp b/bmc_dump_entry.hpp
index 31670be..da63b25 100644
--- a/bmc_dump_entry.hpp
+++ b/bmc_dump_entry.hpp
@@ -59,7 +59,11 @@
         EntryIfaces(bus, objPath.c_str(), true),
         phosphor::dump::Entry(bus, objPath.c_str(), dumpId, timeStamp, fileSize,
                               status, parent),
-        file(file){};
+        file(file)
+    {
+        // Emit deferred signal.
+        this->phosphor::dump::bmc::EntryIfaces::emit_object_added();
+    }
 
     /** @brief Delete this d-bus object.
      */
diff --git a/dump-extensions/openpower-dumps/resource_dump_entry.hpp b/dump-extensions/openpower-dumps/resource_dump_entry.hpp
index fd4c396..cc5172d 100644
--- a/dump-extensions/openpower-dumps/resource_dump_entry.hpp
+++ b/dump-extensions/openpower-dumps/resource_dump_entry.hpp
@@ -64,12 +64,14 @@
         sourceDumpId(sourceId);
         vSPString(vspString);
         password(pwd);
+        // Emit deferred signal.
+        this->openpower::dump::resource::EntryIfaces::emit_object_added();
     };
 
     /** @brief Method to initiate the offload of dump
      *  @param[in] uri - URI to offload dump.
      */
-    void initiateOffload(std::string uri);
+    void initiateOffload(std::string uri) override;
 
     /** @brief Method to update an existing dump entry
      *  @param[in] timeStamp - Dump creation timestamp
diff --git a/dump-extensions/openpower-dumps/system_dump_entry.hpp b/dump-extensions/openpower-dumps/system_dump_entry.hpp
index f57c484..821be37 100644
--- a/dump-extensions/openpower-dumps/system_dump_entry.hpp
+++ b/dump-extensions/openpower-dumps/system_dump_entry.hpp
@@ -57,12 +57,14 @@
                               status, parent)
     {
         sourceDumpId(sourceId);
+        // Emit deferred signal.
+        this->openpower::dump::system::EntryIfaces::emit_object_added();
     };
 
     /** @brief Method to initiate the offload of dump
      *  @param[in] uri - URI to offload dump.
      */
-    void initiateOffload(std::string uri);
+    void initiateOffload(std::string uri) override;
 
     /** @brief Method to update an existing dump entry
      *  @param[in] timeStamp - Dump creation timestamp
diff --git a/dump_entry.hpp b/dump_entry.hpp
index d493cb1..5fd3256 100644
--- a/dump_entry.hpp
+++ b/dump_entry.hpp
@@ -83,8 +83,6 @@
             startTime(timeStamp);
             completedTime(0);
         }
-        // Emit deferred signal.
-        this->emit_object_added();
     };
 
     /** @brief Delete this d-bus object.
