diff --git a/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp
index 4b5816dfd..17a01daad 100644
--- a/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp
+++ b/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp
@@ -109,6 +109,11 @@ private:
 	{
 		return static_cast<UVCCameraData *>(camera->_d());
 	}
+
+	int applyControlsDevice(Camera *camera, const ControlList &controls) override
+	{
+		return processControls(cameraData(camera), controls);
+	}
 };
 
 namespace {
