diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
index 037573270d1e..c122c9be2afd 100644
--- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp
+++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
@@ -827,6 +827,8 @@ void PipelineHandlerRkISP1::stop(Camera *camera)
 
 	isp_->setFrameStartEnabled(false);
 
+	data->ipa_->stop();
+
 	selfPath_.stop();
 	mainPath_.stop();
 
@@ -840,8 +842,6 @@ void PipelineHandlerRkISP1::stop(Camera *camera)
 		LOG(RkISP1, Warning)
 			<< "Failed to stop parameters for " << camera->id();
 
-	data->ipa_->stop();
-
 	data->frameInfo_.clear();
 
 	freeBuffers(camera);
