diff --git a/src/android/camera_capabilities.cpp b/src/android/camera_capabilities.cpp
index 6b5edb66fad2..6543c2bbc6c3 100644
--- a/src/android/camera_capabilities.cpp
+++ b/src/android/camera_capabilities.cpp
@@ -138,13 +138,14 @@ int CameraCapabilities::initialize(std::shared_ptr<libcamera::Camera> camera,
 	return initializeStaticMetadata();
 }
 
-std::vector<Size> CameraCapabilities::getYUVResolutions(CameraConfiguration *cameraConfig,
-							const PixelFormat &pixelFormat,
+std::vector<Size> CameraCapabilities::getYUVResolutions(const PixelFormat &pixelFormat,
 							const std::vector<Size> &resolutions)
 {
 	std::vector<Size> supportedResolutions;
-
+	std::unique_ptr<CameraConfiguration> cameraConfig =
+		camera_->generateConfiguration({ StreamRole::Viewfinder });
 	StreamConfiguration &cfg = cameraConfig->at(0);
+
 	for (const Size &res : resolutions) {
 		cfg.pixelFormat = pixelFormat;
 		cfg.size = res;
@@ -324,8 +325,7 @@ int CameraCapabilities::initializeStreamConfigurations()
 		if (info.colourEncoding == PixelFormatInfo::ColourEncodingRAW)
 			resolutions = getRawResolutions(mappedFormat);
 		else
-			resolutions = getYUVResolutions(cameraConfig.get(),
-							mappedFormat,
+			resolutions = getYUVResolutions(mappedFormat,
 							cameraResolutions);
 
 		for (const Size &res : resolutions) {
diff --git a/src/android/camera_capabilities.h b/src/android/camera_capabilities.h
index 4f5be82595d6..e72bf084cd65 100644
--- a/src/android/camera_capabilities.h
+++ b/src/android/camera_capabilities.h
@@ -43,8 +43,7 @@ private:
 	};
 
 	std::vector<libcamera::Size>
-	getYUVResolutions(libcamera::CameraConfiguration *cameraConfig,
-			  const libcamera::PixelFormat &pixelFormat,
+	getYUVResolutions(const libcamera::PixelFormat &pixelFormat,
 			  const std::vector<libcamera::Size> &resolutions);
 	std::vector<libcamera::Size>
 	getRawResolutions(const libcamera::PixelFormat &pixelFormat);
