diff --git a/src/libcamera/global_configuration.cpp b/src/libcamera/global_configuration.cpp
index 4d154c026e44..a759a086b9a4 100644
--- a/src/libcamera/global_configuration.cpp
+++ b/src/libcamera/global_configuration.cpp
@@ -93,7 +93,12 @@ void GlobalConfiguration::load()
 
 	for (const auto &path : globalConfigurationFiles) {
 		if (loadFile(path))
-			return;
+			break;
+	}
+
+	if (configuration_->isEmpty()) {
+		configuration_->add("version", std::make_unique<ValueNode>(1));
+		configuration_->add("configuration", std::make_unique<ValueNode>());
 	}
 }
 
