diff --git a/src/libcamera/pipeline/raspberrypi/staggered_ctrl.cpp b/src/libcamera/pipeline/raspberrypi/staggered_ctrl.cpp
index 416cb9467147..0572acc93d63 100644
--- a/src/libcamera/pipeline/raspberrypi/staggered_ctrl.cpp
+++ b/src/libcamera/pipeline/raspberrypi/staggered_ctrl.cpp
@@ -91,7 +91,7 @@ bool StaggeredCtrl::set(std::initializer_list<std::pair<const uint32_t, int32_t>
 	return true;
 }
 
-bool StaggeredCtrl::set(ControlList &controls)
+bool StaggeredCtrl::set(const ControlList &controls)
 {
 	std::lock_guard<std::mutex> lock(lock_);
 
diff --git a/src/libcamera/pipeline/raspberrypi/staggered_ctrl.h b/src/libcamera/pipeline/raspberrypi/staggered_ctrl.h
index 98994a6177e1..382fa31a6853 100644
--- a/src/libcamera/pipeline/raspberrypi/staggered_ctrl.h
+++ b/src/libcamera/pipeline/raspberrypi/staggered_ctrl.h
@@ -41,7 +41,7 @@ public:
 
 	bool set(uint32_t ctrl, int32_t value);
 	bool set(std::initializer_list<std::pair<const uint32_t, int32_t>> ctrlList);
-	bool set(ControlList &controls);
+	bool set(const ControlList &controls);
 
 	int write();
 
