diff --git a/src/apps/cam/camera_session.cpp b/src/apps/cam/camera_session.cpp
index 1596a25a3abed9c2d93e6657b92e35fdfd3d1a26..0a24b7fafc5333f88053cb52a500cdafd7bb603f 100644
--- a/src/apps/cam/camera_session.cpp
+++ b/src/apps/cam/camera_session.cpp
@@ -447,7 +447,7 @@ int CameraSession::queueRequest(Request *request)
 		return 0;
 
 	if (script_)
-		request->controls() = script_->frameControls(queueCount_);
+		request->controls().merge(script_->frameControls(queueCount_));
 
 	queueCount_++;
 
