diff --git a/src/gstreamer/gstlibcamerasrc.cpp b/src/gstreamer/gstlibcamerasrc.cpp
index 912a8d55..0d615f4a 100644
--- a/src/gstreamer/gstlibcamerasrc.cpp
+++ b/src/gstreamer/gstlibcamerasrc.cpp
@@ -208,6 +208,7 @@ int GstLibcameraSrcState::queueRequest()
 	}
 
 	GST_TRACE_OBJECT(src_, "Requesting buffers");
+	wrap->request_.get()->controls().merge(initControls_, ControlList::MergePolicy::KeepExisting);
 	cam_->queueRequest(wrap->request_.get());
 
 	{
