diff --git a/substrate/frame/staking/src/pallet/impls.rs b/substrate/frame/staking/src/pallet/impls.rs
index c9032aa273ac84c254648ec91eeac2d69be59628..8b0a460e3153eb9ebe3444fafeebe6c99af8fc59 100644
--- a/substrate/frame/staking/src/pallet/impls.rs
+++ b/substrate/frame/staking/src/pallet/impls.rs
@@ -1524,7 +1524,9 @@ impl<T: Config> ElectionDataProvider for Pallet<T> {
 		// blocks, but rather in a whole era from now.
 
 		if until_this_session_end == One::one() && sessions_left.is_zero() {
-			return now.saturating_add(T::SessionsPerEra::get().into() * session_length)
+			return now.saturating_add(
+				BlockNumberFor::<T>::from(T::SessionsPerEra::get()) * session_length,
+			)
 		}
 
 		now.saturating_add(