--- a/src/core/expr/jitasm.h
+++ b/src/core/expr/jitasm.h
@@ -8609,8 +8609,8 @@
 #else
 			if (val_.IsMem()) {
 				// from memory
-				Mem32 lo(val_.GetAddressBaseSize(), val_.GetBase(), val_.GetIndex(), val_.GetScale(), val_.GetDisp());
-				Mem32 hi(val_.GetAddressBaseSize(), val_.GetBase(), val_.GetIndex(), val_.GetScale(), val_.GetDisp() + 4);
+				Mem32 lo(val_.GetAddressBaseSize(), val_.GetAddressIndexSize(), val_.GetBase(), val_.GetIndex(), val_.GetScale(), val_.GetDisp());
+				Mem32 hi(val_.GetAddressBaseSize(), val_.GetAddressIndexSize(), val_.GetBase(), val_.GetIndex(), val_.GetScale(), val_.GetDisp() + 4);
 				f.mov(f.eax, lo);
 				f.mov(f.edx, hi);
 			} else if (val_.IsImm()) {
