diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
index e6fc582b..6c39494e 100644
--- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp
+++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
@@ -515,6 +515,16 @@ CameraConfiguration *PipelineHandlerRkISP1::generateConfiguration(Camera *camera
 	if (roles.empty())
 		return config;
 
+	if (roles.size() == 1) {
+		StreamConfiguration cfg = data->mainPath_->generateConfiguration(
+			data->sensor_->resolution());
+
+		config->addConfiguration(cfg);
+		config->validate();
+
+		return config;
+	}
+
 	bool mainPathAvailable = true;
 	bool selfPathAvailable = true;
 	for (const StreamRole role : roles) {
