diff --git a/src/libcamera/pipeline/ipu3/cio2.cpp b/src/libcamera/pipeline/ipu3/cio2.cpp
index 1be2cbcd..8548f749 100644
--- a/src/libcamera/pipeline/ipu3/cio2.cpp
+++ b/src/libcamera/pipeline/ipu3/cio2.cpp
@@ -9,6 +9,7 @@
 
 #include <linux/media-bus-format.h>
 
+#include <libcamera/control_ids.h>
 #include <libcamera/formats.h>
 #include <libcamera/geometry.h>
 #include <libcamera/stream.h>
@@ -192,6 +193,13 @@ int CIO2Device::configure(const Size &size, V4L2DeviceFormat *outputFormat)
 
 	LOG(IPU3, Debug) << "CIO2 output format " << outputFormat->toString();
 
+	ret = sensor_->setTestPatternMode(controls::draft::TestPatternModeOff);
+	if (ret) {
+		LOG(IPU3, Error)
+			<< "Failed to reset test pattern mode: " << ret;
+		return ret;
+	}
+
 	return 0;
 }
 
