diff --git a/src/entity_manager/dbus_interface.cpp b/src/entity_manager/dbus_interface.cpp
index 3ad8874..45c90fa 100644
--- a/src/entity_manager/dbus_interface.cpp
+++ b/src/entity_manager/dbus_interface.cpp
@@ -162,19 +162,10 @@
     {
         case (nlohmann::json::value_t::boolean):
         {
-            if (value.is_array())
-            {
-                // todo: array of bool isn't detected correctly by
-                // sdbusplus, change it to numbers
-                addArrayToDbus<uint64_t>(key, value, iface.get(), permission,
-                                         systemConfiguration, path);
-            }
-
-            else
-            {
-                addProperty(key, value.get<bool>(), iface.get(),
-                            systemConfiguration, path, permission);
-            }
+            // todo: array of bool isn't detected correctly by
+            // sdbusplus, change it to numbers
+            addValueToDBus<uint64_t, bool>(key, value, *iface, permission,
+                                           systemConfiguration, path);
             break;
         }
         case (nlohmann::json::value_t::number_integer):
diff --git a/src/entity_manager/dbus_interface.hpp b/src/entity_manager/dbus_interface.hpp
index 5e6609d..60527e3 100644
--- a/src/entity_manager/dbus_interface.hpp
+++ b/src/entity_manager/dbus_interface.hpp
@@ -99,7 +99,7 @@
         });
 }
 
-template <typename PropertyType>
+template <typename PropertyType, typename SinglePropertyType = PropertyType>
 void addValueToDBus(const std::string& key, const nlohmann::json& value,
                     sdbusplus::asio::dbus_interface& iface,
                     sdbusplus::asio::PropertyPermission permission,
@@ -113,8 +113,9 @@
     }
     else
     {
-        addProperty(key, value.get<PropertyType>(), &iface, systemConfiguration,
-                    path, sdbusplus::asio::PropertyPermission::readOnly);
+        addProperty(key, value.get<SinglePropertyType>(), &iface,
+                    systemConfiguration, path,
+                    sdbusplus::asio::PropertyPermission::readOnly);
     }
 }
 
