diff --git a/src/ipa/libipa/agc.cpp b/src/ipa/libipa/agc.cpp
index 0f787925cb..f420dfdce4 100644
--- a/src/ipa/libipa/agc.cpp
+++ b/src/ipa/libipa/agc.cpp
@@ -297,8 +297,8 @@ int AgcAlgorithm::configure(agc::Session &session, agc::ActiveState &state,
 
 	std::array<int64_t, 3> frameDurations;
 	for (unsigned int i = 0; i < frameHeights.size(); ++i) {
-		uint64_t frameSize = lineLength * frameHeights[i];
-		frameDurations[i] = frameSize / (config.sensorInfo.pixelRate / 1000000U);
+		uint64_t frameSize = uint64_t(lineLength) * frameHeights[i];
+		frameDurations[i] = frameSize * 1000000U / config.sensorInfo.pixelRate;
 	}
 
 	/*
