diff --git a/GPU/GPUCommon.cpp b/GPU/GPUCommon.cpp index a436d9882..6411d0019 100644 --- a/GPU/GPUCommon.cpp +++ b/GPU/GPUCommon.cpp @@ -731,7 +731,7 @@ void GPUCommon::ExecuteOp(u32 op, u32 diff) { u32 target = gstate_c.getRelativeAddress(data); // Bone matrix optimization - many games will CALL a bone matrix (!). - if ((Memory::ReadUnchecked_U32(target) >> 24) == GE_CMD_BONEMATRIXDATA) { + if (g_Config.bSoftwareSkinning && (Memory::ReadUnchecked_U32(target) >> 24) == GE_CMD_BONEMATRIXDATA) { // Check for the end if ((Memory::ReadUnchecked_U32(target + 11 * 4) >> 24) == GE_CMD_BONEMATRIXDATA && (Memory::ReadUnchecked_U32(target + 12 * 4) >> 24) == GE_CMD_RET) {