diff --git a/elog_entry.hpp b/elog_entry.hpp
index ac4949a..06f6bc2 100644
--- a/elog_entry.hpp
+++ b/elog_entry.hpp
@@ -19,6 +19,8 @@
 using AssociationList =
      std::vector<std::tuple<std::string, std::string, std::string>>;
 
+class Manager;
+
 /** @class Entry
  *  @brief OpenBMC logging entry implementation.
  *  @details A concrete implementation for the
@@ -45,6 +47,7 @@
          *  @param[in] severityErr - The severity of the error.
          *  @param[in] msgErr - The message of the error.
          *  @param[in] additionalDataErr - The error metadata.
+         *  @param[in] parent - The error's parent.
          */
         Entry(sdbusplus::bus::bus& bus,
               const std::string& path,
@@ -53,8 +56,10 @@
               Level severityErr,
               std::string&& msgErr,
               std::vector<std::string>&& additionalDataErr,
-              AssociationList&& objects) :
-              EntryIfaces(bus, path.c_str(), true)
+              AssociationList&& objects,
+              Manager& parent) :
+              EntryIfaces(bus, path.c_str(), true),
+              parent(parent)
         {
             id(idErr);
             severity(severityErr);
@@ -92,6 +97,9 @@
     private:
         /** @brief This entry's associations */
         AssociationList assocs = {};
+
+        /** @brief This entry's parent */
+        Manager& parent;
 };
 
 } // namespace logging
diff --git a/log_manager.cpp b/log_manager.cpp
index 11c4392..8ab495b 100644
--- a/log_manager.cpp
+++ b/log_manager.cpp
@@ -153,7 +153,8 @@
             static_cast<Entry::Level>(reqLevel),
             std::move(errMsg),
             std::move(additionalData),
-            std::move(objects))));
+            std::move(objects),
+            *this)));
     return;
 }
 
