diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
index 2d881fe28f98..9ce329a83f5d 100644
--- a/src/libcamera/pipeline/ipu3/ipu3.cpp
+++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
@@ -13,6 +13,7 @@
 
 #include <libcamera/camera.h>
 #include <libcamera/formats.h>
+#include <libcamera/property_ids.h>
 #include <libcamera/request.h>
 #include <libcamera/stream.h>
 
@@ -776,7 +777,14 @@ int PipelineHandlerIPU3::registerCameras()
 			continue;
 
 		/* Initialize the camera properties. */
-		data->properties_ = cio2->sensor()->properties();
+		for (const auto &sensorProperty : cio2->sensor()->properties())
+			data->properties_.set(sensorProperty.first,
+					      sensorProperty.second);
+		data->properties_.set(properties::DraftPipelineMaxDepth, 3);
+		data->properties_.set(properties::DraftAvailableNoiseReductionModes,
+				      { static_cast<int32_t>(properties::DRAFT_NOISE_REDUCTION_MODE_OFF) });
+		data->properties_.set(properties::DraftAvailableColorCorrectionAberrationModes,
+				      { static_cast<int32_t>(properties::DRAFT_COLOR_CORRECTION_ABERRATION_OFF) });
 
 		/**
 		 * \todo Dynamically assign ImgU and output devices to each
