diff --git a/src/entity_manager/dbus_interface.cpp b/src/entity_manager/dbus_interface.cpp
index 9c93ec6..1492314 100644
--- a/src/entity_manager/dbus_interface.cpp
+++ b/src/entity_manager/dbus_interface.cpp
@@ -160,10 +160,8 @@
     {
         case (nlohmann::json::value_t::boolean):
         {
-            // todo: array of bool isn't detected correctly by
-            // sdbusplus, change it to numbers
-            addValueToDBus<uint64_t, bool>(key, value, *iface, permission,
-                                           systemConfiguration, path);
+            addValueToDBus<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 30423e6..9bf223f 100644
--- a/src/entity_manager/dbus_interface.hpp
+++ b/src/entity_manager/dbus_interface.hpp
@@ -135,7 +135,7 @@
         });
 }
 
-template <typename PropertyType, typename SinglePropertyType = PropertyType>
+template <typename PropertyType>
 void addValueToDBus(const std::string& key, const nlohmann::json& value,
                     sdbusplus::asio::dbus_interface& iface,
                     sdbusplus::asio::PropertyPermission permission,
@@ -149,9 +149,8 @@
     }
     else
     {
-        addProperty(key, value.get<SinglePropertyType>(), &iface,
-                    systemConfiguration, path,
-                    sdbusplus::asio::PropertyPermission::readOnly);
+        addProperty(key, value.get<PropertyType>(), &iface, systemConfiguration,
+                    path, sdbusplus::asio::PropertyPermission::readOnly);
     }
 }
 
