diff --git a/rpcs3/Emu/Cell/Modules/cellGcmSys.cpp b/rpcs3/Emu/Cell/Modules/cellGcmSys.cpp index f84baa74d5..c3cb5ce62c 100644 --- a/rpcs3/Emu/Cell/Modules/cellGcmSys.cpp +++ b/rpcs3/Emu/Cell/Modules/cellGcmSys.cpp @@ -1011,7 +1011,7 @@ s32 cellGcmMapMainMemory(u32 ea, u32 size, vm::ptr offset) // Use the offset table to find the next free io address for (u32 io = RSXIOMem.GetRangeStart() >> 20, end = RSXIOMem.GetRangeEnd() >> 20, unmap_count = 1; io < end; unmap_count++) { - if (static_cast(offsetTable.eaAddress[io]) < 0) + if (static_cast(offsetTable.eaAddress[io + unmap_count - 1]) < 0) { if (unmap_count >= (size >> 20)) {