diff --git a/elog_entry.hpp b/elog_entry.hpp
index db9d9da..38c4e84 100644
--- a/elog_entry.hpp
+++ b/elog_entry.hpp
@@ -51,7 +51,7 @@
      *         Defer signal registration (pass true for deferSignal to the
      *         base class) until after the properties are set.
      *  @param[in] bus - Bus to attach to.
-     *  @param[in] path - Path to attach at.
+     *  @param[in] objectPath - Path to attach at.
      *  @param[in] idErr - The error entry id.
      *  @param[in] timestampErr - The commit timestamp.
      *  @param[in] severityErr - The severity of the error.
@@ -59,14 +59,15 @@
      *  @param[in] additionalDataErr - The error metadata.
      *  @param[in] objects - The list of associations.
      *  @param[in] fwVersion - The BMC code version.
+     *  @param[in] filePath - Serialization path
      *  @param[in] parent - The error's parent.
      */
-    Entry(sdbusplus::bus::bus& bus, const std::string& path, uint32_t idErr,
-          uint64_t timestampErr, Level severityErr, std::string&& msgErr,
-          std::vector<std::string>&& additionalDataErr,
+    Entry(sdbusplus::bus::bus& bus, const std::string& objectPath,
+          uint32_t idErr, uint64_t timestampErr, Level severityErr,
+          std::string&& msgErr, std::vector<std::string>&& additionalDataErr,
           AssociationList&& objects, const std::string& fwVersion,
-          internal::Manager& parent) :
-        EntryIfaces(bus, path.c_str(), true),
+          const std::string& filePath, internal::Manager& parent) :
+        EntryIfaces(bus, objectPath.c_str(), true),
         parent(parent)
     {
         id(idErr, true);
@@ -83,6 +84,7 @@
 
         version(fwVersion, true);
         purpose(VersionPurpose::BMC, true);
+        path(filePath, true);
 
         // Emit deferred signal.
         this->emit_object_added();
