diff --git a/src/android/camera_capabilities.cpp b/src/android/camera_capabilities.cpp
index 7d795bf5..212d61d9 100644
--- a/src/android/camera_capabilities.cpp
+++ b/src/android/camera_capabilities.cpp
@@ -573,15 +573,16 @@ int CameraCapabilities::initializeStaticMetadata()
 	staticMetadata_->addEntry(ANDROID_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES,
 				  availableStabilizationModes);
 
-	/*
-	 * \todo Inspect the camera capabilities to report the available
-	 * AWB modes. Default to AUTO as CTS tests require it.
-	 */
-	std::vector<uint8_t> availableAwbModes = {
-		ANDROID_CONTROL_AWB_MODE_AUTO,
-	};
-	staticMetadata_->addEntry(ANDROID_CONTROL_AWB_AVAILABLE_MODES,
-				  availableAwbModes);
+	std::vector<uint8_t> awbModes =
+		setMetadata(staticMetadata_.get(), ANDROID_CONTROL_AWB_AVAILABLE_MODES,
+			    controlsInfo, &controls::AwbMode,
+			    std::vector<uint8_t>({ ANDROID_CONTROL_AWB_MODE_AUTO }));
+	if (std::find(awbModes.begin(), awbModes.end(),
+		      ANDROID_CONTROL_AWB_MODE_OFF) == awbModes.end()) {
+		fullSupport = false;
+		/* \todo Double check if this is the correct capability */
+		capabilities[ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING] = false;
+	}
 
 	std::vector<int32_t> availableMaxRegions = {
 		0, 0, 0,
