diff --git a/components/common/cpp/include/ftl/configuration.hpp b/components/common/cpp/include/ftl/configuration.hpp
index 3387cb815c6b3aea2cf6b687b58720821fbf63a6..9f8c6e0fda3033f0102b2ac1de95e7cb3afe3790 100644
--- a/components/common/cpp/include/ftl/configuration.hpp
+++ b/components/common/cpp/include/ftl/configuration.hpp
@@ -103,7 +103,7 @@ T *ftl::config::create(json_t &link, ARGS ...args) {
 
 template <typename T, typename... ARGS>
 T *ftl::config::create(ftl::Configurable *parent, const std::string &name, ARGS ...args) {
-    nlohmann::json &entity = parent->getConfig()[name];
+    nlohmann::json &entity = ftl::config::resolve(parent->getConfig()[name]);
 
     if (entity.is_object()) {
         if (!entity["$id"].is_string()) {