diff --git a/control/actions.cpp b/control/actions.cpp
index 8ecd30c..b162602 100644
--- a/control/actions.cpp
+++ b/control/actions.cpp
@@ -35,13 +35,10 @@
                 // Associate event data with timer
                 std::unique_ptr<EventData> eventData =
                     std::make_unique<EventData>(
-                            EventData
-                            {
-                                group,
-                                "",
-                                nullptr,
-                                actions
-                            }
+                            group,
+                            "",
+                            nullptr,
+                            actions
                     );
                 // Create/start timer and associate event data with it
                 std::unique_ptr<util::Timer> timer =
diff --git a/control/zone.cpp b/control/zone.cpp
index 784004e..7b2b31e 100644
--- a/control/zone.cpp
+++ b/control/zone.cpp
@@ -303,13 +303,10 @@
         // Setup signal matches of the property for event
         std::unique_ptr<EventData> eventData =
             std::make_unique<EventData>(
-                EventData
-                {
                     std::get<groupPos>(event),
                     std::get<sigMatchPos>(sig),
                     std::get<sigHandlerPos>(sig),
                     std::get<actionsPos>(event)
-                }
             );
         std::unique_ptr<sdbusplus::server::match::match> match = nullptr;
         if (!std::get<sigMatchPos>(sig).empty())
@@ -332,13 +329,10 @@
         // Associate event data with timer
         std::unique_ptr<EventData> eventData =
             std::make_unique<EventData>(
-                    EventData
-                    {
-                        std::get<groupPos>(event),
-                        "",
-                        nullptr,
-                        std::get<actionsPos>(event)
-                    }
+                    std::get<groupPos>(event),
+                    "",
+                    nullptr,
+                    std::get<actionsPos>(event)
             );
         std::unique_ptr<util::Timer> timer =
             std::make_unique<util::Timer>(
