diff --git a/src/EntityManager.cpp b/src/EntityManager.cpp
index 3b2b416..ec38dde 100644
--- a/src/EntityManager.cpp
+++ b/src/EntityManager.cpp
@@ -75,8 +75,8 @@
                  {"FOUND", probe_type_codes::FOUND},
                  {"MATCH_ONE", probe_type_codes::MATCH_ONE}}};
 
-static constexpr std::array<const char*, 5> settableInterfaces = {
-    "FanProfile", "Pid", "Pid.Zone", "Stepwise", "Thresholds"};
+static constexpr std::array<const char*, 6> settableInterfaces = {
+    "FanProfile", "Pid", "Pid.Zone", "Stepwise", "Thresholds", "Polling"};
 using JsonVariantType =
     std::variant<std::vector<std::string>, std::vector<double>, std::string,
                  int64_t, uint64_t, double, int32_t, uint32_t, int16_t,
@@ -1096,9 +1096,10 @@
                                 "." + objectPair.key(),
                             boardKeyOrig);
 
-                    populateInterfaceFromJson(
-                        systemConfiguration, jsonPointerPath, objectIface,
-                        objectPair.value(), objServer, getPermission(itemType));
+                    populateInterfaceFromJson(systemConfiguration,
+                                              jsonPointerPath, objectIface,
+                                              objectPair.value(), objServer,
+                                              getPermission(objectPair.key()));
                 }
                 else if (objectPair.value().type() ==
                          nlohmann::json::value_t::array)
