diff --git a/src/libcamera/request.cpp b/src/libcamera/request.cpp
index 60565f5984971c7ab34e119a15b8141799f71071..2544a059f6984d930ec909c74e0b621c9fe82726 100644
--- a/src/libcamera/request.cpp
+++ b/src/libcamera/request.cpp
@@ -356,7 +356,7 @@ Request::Request(Camera *camera, uint64_t cookie)
 	: Extensible(std::make_unique<Private>(camera)),
 	  cookie_(cookie), status_(RequestPending)
 {
-	controls_ = new ControlList(controls::controls,
+	controls_ = new ControlList(camera->controls(),
 				    camera->_d()->validator());
 
 	/**
