diff --git a/src/libcamera/global_configuration.cpp b/src/libcamera/global_configuration.cpp
index 8c2670e03..2eec45363 100644
--- a/src/libcamera/global_configuration.cpp
+++ b/src/libcamera/global_configuration.cpp
@@ -67,6 +67,15 @@ bool GlobalConfiguration::loadFile(const std::filesystem::path &fileName)
 		return true;
 	}
 
+	const std::optional<int> version = (*configuration)["version"].get<int>();
+	if (version != 1) {
+		LOG(Configuration, Error)
+			<< "Failed to read configuration file due to unsupported version "
+			<< (version ? std::to_string(version.value()) : "\"unspecified\"")
+			<< ", expected version 1";
+		return true;
+	}
+
 	yamlConfiguration_ = std::move(configuration);
 	return true;
 }
