diff --git a/src/libcamera/pipeline/vimc/vimc.cpp b/src/libcamera/pipeline/vimc/vimc.cpp
index ccfd7f86d158..339d1cf653fb 100644
--- a/src/libcamera/pipeline/vimc/vimc.cpp
+++ b/src/libcamera/pipeline/vimc/vimc.cpp
@@ -224,6 +224,16 @@ int PipelineHandlerVimc::configure(Camera *camera, CameraConfiguration *config)
 	if (ret)
 		return ret;

+	Rectangle crop = {
+		.x = 0,
+		.y = 0,
+		.width = subformat.size.width,
+		.height = subformat.size.height,
+	};
+	ret = data->scaler_->setSelection(0, V4L2_SEL_TGT_CROP, &crop);
+	if (ret && ret != -ENOTTY)
+		return ret;
+
 	subformat.size = cfg.size;
 	ret = data->scaler_->setFormat(1, &subformat);
 	if (ret)
