diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
index 519cad4f8148..51446fcf5bc1 100644
--- a/src/libcamera/pipeline/ipu3/ipu3.cpp
+++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
@@ -1145,7 +1145,11 @@ int IPU3CameraData::loadIPA()
 	ipa_->queueFrameAction.connect(this, &IPU3CameraData::queueFrameAction);
 
 	CameraSensor *sensor = cio2_.sensor();
-	ipa_->init(IPASettings{ "", sensor->model() });
+	int ret = ipa_->init(IPASettings{ "", sensor->model() });
+	if (ret) {
+		LOG(IPU3, Error) << "Failed to initialise the IPU3 IPA";
+		return ret;
+	}
 
 	return 0;
 }
