diff --git a/src/ipa/libipa/agc_msv.cpp b/src/ipa/libipa/agc_msv.cpp
index 956551685c..9fec2ba48a 100644
--- a/src/ipa/libipa/agc_msv.cpp
+++ b/src/ipa/libipa/agc_msv.cpp
@@ -206,7 +206,7 @@ AgcMSV::Result AgcMSV::updateExposure(uint32_t exposure, double again, float exp
 			}
 		} else {
 			/* Scene too bright: decrease gain first, then exposure. */
-			if (again > limits_.gain1) {
+			if (again > std::max(limits_.gain1, limits_.gain[0])) {
 				double next = again * factor;
 				again = std::min(next, again - limits_.gainMinStep);
 			} else {
