diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp
index 3560f16698c4..7fe2ae5bbe82 100644
--- a/src/android/camera_device.cpp
+++ b/src/android/camera_device.cpp
@@ -1932,6 +1932,7 @@ std::unique_ptr<CameraMetadata>
 CameraDevice::getResultMetadata(Camera3RequestDescriptor *descriptor,
 				int64_t timestamp)
 {
+	const CameraMetadata &settings = descriptor->settings_;
 	const ControlList &metadata = descriptor->request_->metadata();
 
 	/*
@@ -1958,9 +1959,21 @@ CameraDevice::getResultMetadata(Camera3RequestDescriptor *descriptor,
 	value = ANDROID_CONTROL_AE_MODE_ON;
 	resultMetadata->addEntry(ANDROID_CONTROL_AE_MODE, &value, 1);
 
-	std::vector<int32_t> aeFpsTarget = { 30, 30 };
-	resultMetadata->addEntry(ANDROID_CONTROL_AE_TARGET_FPS_RANGE,
-				 aeFpsTarget.data(), aeFpsTarget.size());
+	camera_metadata_ro_entry_t entry;
+	bool found = settings.getEntry(ANDROID_CONTROL_AE_TARGET_FPS_RANGE, &entry);
+	if (found) {
+		/*
+		 * \todo Retrieve the AE FPS range from the libcamera metadata.
+		 * As libcamera does not support that control, as a temporary
+		 * workaround return what the framework asked.
+		 */
+		const int32_t *data = entry.data.i32;
+		std::vector<int32_t> aeFpsTarget = {
+			data[0], data[1],
+		};
+		resultMetadata->addEntry(ANDROID_CONTROL_AE_TARGET_FPS_RANGE,
+					 aeFpsTarget.data(), aeFpsTarget.size());
+	}
 
 	value = ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_IDLE;
 	resultMetadata->addEntry(ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER,
