diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
index 6cd1879a..3c7f98a9 100644
--- a/src/libcamera/pipeline/ipu3/ipu3.cpp
+++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
@@ -694,6 +694,8 @@ int PipelineHandlerIPU3::start(Camera *camera, [[maybe_unused]] ControlList *con
 	if ((result.operation != IPU3_IPA_STATUS_CONFIGURATION) ||
 	    (result.data.size() != 1) || (result.data.at(0) != 1)) {
 		LOG(IPU3, Warning) << "Failed to configure IPA";
+		imgu->stop();
+		cio2->stop();
 		ret = -EINVAL;
 		goto error;
 	}
