diff --git a/src/libcamera/software_isp/software_isp.cpp b/src/libcamera/software_isp/software_isp.cpp
index 2bea64d9..67b27727 100644
--- a/src/libcamera/software_isp/software_isp.cpp
+++ b/src/libcamera/software_isp/software_isp.cpp
@@ -290,13 +290,12 @@ int SoftwareIsp::queueBuffers(uint32_t frame, FrameBuffer *input,
 	 */
 	if (outputs.empty())
 		return -EINVAL;
+	if (outputs.size() != 1) /* only single stream atm */
+		return -EINVAL;
 
-	for (auto [stream, buffer] : outputs) {
+	for (auto [stream, buffer] : outputs)
 		if (!buffer)
 			return -EINVAL;
-		if (outputs.size() != 1) /* only single stream atm */
-			return -EINVAL;
-	}
 
 	for (auto iter = outputs.begin(); iter != outputs.end(); iter++)
 		process(frame, input, iter->second);
