diff --git a/elog_entry.hpp b/elog_entry.hpp
index 4290a50..ccb69a3 100644
--- a/elog_entry.hpp
+++ b/elog_entry.hpp
@@ -65,7 +65,7 @@
      */
     Entry(sdbusplus::bus_t& bus, const std::string& objectPath, uint32_t idErr,
           uint64_t timestampErr, Level severityErr, std::string&& msgErr,
-          std::vector<std::string>&& additionalDataErr,
+          std::map<std::string, std::string>&& additionalDataErr,
           AssociationList&& objects, const std::string& fwVersion,
           const std::string& filePath, internal::Manager& parent) :
         EntryIfaces(bus, objectPath.c_str(), EntryIfaces::action::defer_emit),
@@ -76,8 +76,8 @@
         timestamp(timestampErr, true);
         updateTimestamp(timestampErr, true);
         message(std::move(msgErr), true);
-        additionalData(std::move(additionalDataErr), true);
-        additionalData2(util::additional_data::parse(additionalData()), true);
+        additionalData2(std::move(additionalDataErr), true);
+        additionalData(util::additional_data::combine(additionalData2()), true);
         associations(std::move(objects), true);
         // Store a copy of associations in case we need to recreate
         assocs = associations();
diff --git a/lib/lg2_commit.cpp b/lib/lg2_commit.cpp
index 2f1caab..6916bf5 100644
--- a/lib/lg2_commit.cpp
+++ b/lib/lg2_commit.cpp
@@ -107,18 +107,9 @@
 }
 
 auto extractEvent(sdbusplus::exception::generated_event_base&& t)
-    -> std::tuple<std::string, Entry::Level, std::vector<std::string>>
+    -> std::tuple<std::string, Entry::Level, std::map<std::string, std::string>>
 {
-    auto data = data_from_json(t);
-    std::vector<std::string> additional_data = {};
-
-    for (auto& [key, data] : data)
-    {
-        additional_data.emplace_back(key + "=" + data);
-    }
-
-    return {t.name(), severity_from_syslog(t.severity()),
-            std::move(additional_data)};
+    return {t.name(), severity_from_syslog(t.severity()), data_from_json(t)};
 }
 
 } // namespace details
diff --git a/lib/lg2_commit.hpp b/lib/lg2_commit.hpp
index db6bab0..1ab4302 100644
--- a/lib/lg2_commit.hpp
+++ b/lib/lg2_commit.hpp
@@ -17,6 +17,7 @@
  *  @return A tuple containing the message, level, and additional data.
  */
 auto extractEvent(sdbusplus::exception::generated_event_base&&)
-    -> std::tuple<std::string, Entry::Level, std::vector<std::string>>;
+    -> std::tuple<std::string, Entry::Level,
+                  std::map<std::string, std::string>>;
 
 } // namespace lg2::details
diff --git a/log_manager.cpp b/log_manager.cpp
index 125677e..d5a2638 100644
--- a/log_manager.cpp
+++ b/log_manager.cpp
@@ -193,12 +193,12 @@
 
         sd_journal_close(j);
     }
-    createEntry(errMsg, errLvl, additionalData);
+    createEntry(errMsg, errLvl, util::additional_data::parse(additionalData));
 }
 
 auto Manager::createEntry(
     std::string errMsg, Entry::Level errLvl,
-    std::vector<std::string> additionalData,
+    std::map<std::string, std::string> additionalData,
     const FFDCEntries& ffdc) -> sdbusplus::message::object_path
 {
     if (!Extensions::disableDefaultLogCaps())
@@ -234,7 +234,8 @@
     auto objPath = std::string(OBJ_ENTRY) + '/' + std::to_string(entryId);
 
     AssociationList objects{};
-    processMetadata(errMsg, additionalData, objects);
+    auto additionalDataVec = util::additional_data::combine(additionalData);
+    processMetadata(errMsg, additionalDataVec, objects);
 
     auto e = std::make_unique<Entry>(
         busLog, objPath, entryId,
@@ -706,10 +707,7 @@
                      const std::map<std::string, std::string>& additionalData,
                      const FFDCEntries& ffdc) -> sdbusplus::message::object_path
 {
-    // Convert the map into a vector of "key=value" strings
-    auto ad = util::additional_data::combine(additionalData);
-
-    return createEntry(message, severity, ad, ffdc);
+    return createEntry(message, severity, additionalData, ffdc);
 }
 
 } // namespace internal
diff --git a/log_manager.hpp b/log_manager.hpp
index 2535832..c5b6eb0 100644
--- a/log_manager.hpp
+++ b/log_manager.hpp
@@ -270,7 +270,7 @@
      * vector.
      */
     auto createEntry(std::string errMsg, Entry::Level errLvl,
-                     std::vector<std::string> additionalData,
+                     std::map<std::string, std::string> additionalData,
                      const FFDCEntries& ffdc = FFDCEntries{})
         -> sdbusplus::message::object_path;
 
diff --git a/test/elog_quiesce_test.cpp b/test/elog_quiesce_test.cpp
index 7894f95..9c822df 100644
--- a/test/elog_quiesce_test.cpp
+++ b/test/elog_quiesce_test.cpp
@@ -41,7 +41,8 @@
     std::string message{"test error"};
     std::string fwLevel{"level42"};
     std::string path{"/tmp/99"};
-    std::vector<std::string> testData{"no", "callout"};
+    std::map<std::string, std::string> testData{{"no", "no"},
+                                                {"callout", "callout"}};
     phosphor::logging::AssociationList associations{};
 
     Entry elog{mockedBus,
@@ -67,9 +68,9 @@
     std::string message{"test error"};
     std::string fwLevel{"level42"};
     std::string path{"/tmp/99"};
-    std::vector<std::string> testData{
-        "CALLOUT_INVENTORY_PATH=/xyz/openbmc_project/inventory/system/chassis/"
-        "motherboard/powersupply0/"};
+    std::map<std::string, std::string> testData{
+        {"CALLOUT_INVENTORY_PATH",
+         "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0/"}};
     phosphor::logging::AssociationList associations{};
 
     Entry elog{mockedBus,
@@ -95,9 +96,9 @@
     std::string message{"test error"};
     std::string fwLevel{"level42"};
     std::string path{"/tmp/99"};
-    std::vector<std::string> testData{
-        "CALLOUT_INVENTORY_PATH=/xyz/openbmc_project/inventory/system/chassis/"
-        "motherboard/powersupply0/"};
+    std::map<std::string, std::string> testData{
+        {"CALLOUT_INVENTORY_PATH",
+         "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0/"}};
     phosphor::logging::AssociationList associations{};
 
     // Ensure D-Bus object created for this blocking error
@@ -152,9 +153,9 @@
     std::string message{"test error"};
     std::string fwLevel{"level42"};
     std::string path{"/tmp/99"};
-    std::vector<std::string> testData{
-        "CALLOUT_INVENTORY_PATH=/xyz/openbmc_project/inventory/system/chassis/"
-        "motherboard/powersupply0/"};
+    std::map<std::string, std::string> testData{
+        {"CALLOUT_INVENTORY_PATH",
+         "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0/"}};
     phosphor::logging::AssociationList associations{};
 
     // Ensure D-Bus object created for this blocking error
@@ -211,9 +212,9 @@
     std::string message{"test error"};
     std::string fwLevel{"level42"};
     std::string path{"/tmp/99"};
-    std::vector<std::string> testData{
-        "CALLOUT_INVENTORY_PATH=/xyz/openbmc_project/inventory/system/chassis/"
-        "motherboard/powersupply0/"};
+    std::map<std::string, std::string> testData{
+        {"CALLOUT_INVENTORY_PATH",
+         "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0/"}};
     phosphor::logging::AssociationList associations{};
 
     // Ensure D-Bus object created for this blocking error
diff --git a/test/elog_update_ts_test.cpp b/test/elog_update_ts_test.cpp
index cabcb60..fe1089f 100644
--- a/test/elog_update_ts_test.cpp
+++ b/test/elog_update_ts_test.cpp
@@ -61,7 +61,7 @@
     std::string message{"test error"};
     std::string fwLevel{"level42"};
     std::string path{"/tmp/99"};
-    std::vector<std::string> testData{"additional", "data"};
+    std::map<std::string, std::string> testData{{"additional", "data"}};
     phosphor::logging::AssociationList associations{};
 
     Entry elog{bus,
@@ -132,7 +132,7 @@
     std::string message{"test error"};
     std::string fwLevel{"level42"};
     std::string path{"/tmp/99"};
-    std::vector<std::string> testData{"additional", "data"};
+    std::map<std::string, std::string> testData{{"additional", "data"}};
     phosphor::logging::AssociationList associations{};
 
     Entry elog{bus,
diff --git a/test/serialization_test_properties.cpp b/test/serialization_test_properties.cpp
index 60fc6ae..f769c93 100644
--- a/test/serialization_test_properties.cpp
+++ b/test/serialization_test_properties.cpp
@@ -13,7 +13,8 @@
 {
     auto id = 99;
     phosphor::logging::AssociationList assocations{};
-    std::vector<std::string> testData{"additional=1", "data=yes"};
+    std::map<std::string, std::string> testData = {{"additional", "1"},
+                                                   {"data", "yes"}};
     uint64_t timestamp{100};
     std::string message{"test error"};
     std::string fwLevel{"level42"};
