diff --git a/src/qcam/main_window.cpp b/src/qcam/main_window.cpp
index ee779728fc630da8..b683c2e00d317307 100644
--- a/src/qcam/main_window.cpp
+++ b/src/qcam/main_window.cpp
@@ -293,6 +293,10 @@ int MainWindow::startCapture()
 
 	/* Configure the camera. */
 	config_ = camera_->generateConfiguration(roles);
+	if (!config_) {
+		qWarning() << "Failed to generate configuration from roles";
+		return -EINVAL;
+	}
 
 	StreamConfiguration &cfg = config_->at(0);
 
