diff --git a/src/libcamera/pipeline/ipu3/frames.cpp b/src/libcamera/pipeline/ipu3/frames.cpp
index b8b471c3c561..7a7c5643df43 100644
--- a/src/libcamera/pipeline/ipu3/frames.cpp
+++ b/src/libcamera/pipeline/ipu3/frames.cpp
@@ -47,12 +47,13 @@ IPU3Frames::Info *IPU3Frames::create(Request *request)
 		LOG(IPU3, Error) << "Parameters buffer underrun";
 		return nullptr;
 	}
-	FrameBuffer *paramBuffer = availableParamBuffers_.front();
 
 	if (availableStatBuffers_.empty()) {
 		LOG(IPU3, Error) << "Statistics buffer underrun";
 		return nullptr;
 	}
+
+	FrameBuffer *paramBuffer = availableParamBuffers_.front();
 	FrameBuffer *statBuffer = availableStatBuffers_.front();
 
 	availableParamBuffers_.pop();
