diff --git a/components/common/cpp/src/configuration.cpp b/components/common/cpp/src/configuration.cpp
index 1d4bb01d69ded010d0a2745491a9d0979f3bcc5d..29298043c2b38f197dfef3728a69baae3c9f0525 100644
--- a/components/common/cpp/src/configuration.cpp
+++ b/components/common/cpp/src/configuration.cpp
@@ -883,10 +883,11 @@ Configurable *ftl::config::configure(int argc, char **argv, const std::string &r
 	config_restore = std::move(ftl::loadJSON(std::string(FTL_LOCAL_CONFIG_ROOT "/")+cfg_root_str+std::string("_session.json")));
 
 	Configurable *rootcfg = nullptr;
-	rootCFG = rootcfg;
 
 	try {
+		if (!config.contains("$id")) config["$id"] = "ftl://utu.fi";
 		rootcfg = create<Configurable>(config);
+		rootCFG = rootcfg;
 		if (root_str.size() > 0) {
 			LOG(INFO) << "Setting root to " << root_str;
 			rootcfg = create<Configurable>(rootcfg, root_str);