diff --git a/pcsx2/Vif.cpp b/pcsx2/Vif.cpp index 8157efef21..48efdf60fc 100644 --- a/pcsx2/Vif.cpp +++ b/pcsx2/Vif.cpp @@ -183,8 +183,12 @@ void __fastcall UNPACK_V3(u32 *dest, T *data, int size) if(_vifRegs->offset == OFFSET_Z) { - writeXYZW(_vifRegs->offset, *dest++, *data++); - _vifRegs->offset = OFFSET_W; + if (size > 0) + { + writeXYZW(_vifRegs->offset, *dest++, *data++); + _vifRegs->offset = OFFSET_W; + size--; + } } if(_vifRegs->offset == OFFSET_W)