diff --git a/Source/Core/Core/PowerPC/MMU.cpp b/Source/Core/Core/PowerPC/MMU.cpp index db5d4a4b31..6c85fc54ee 100644 --- a/Source/Core/Core/PowerPC/MMU.cpp +++ b/Source/Core/Core/PowerPC/MMU.cpp @@ -1464,11 +1464,13 @@ MMU::TranslateAddressResult MMU::TranslatePageAddress(const EffectiveAddress add for (int i = 0; i < 8; i++, pteg_addr += 8) { - const u32 pteg = ReadFromHardware(pteg_addr); + constexpr XCheckTLBFlag pte_read_flag = + IsNoExceptionFlag(flag) ? XCheckTLBFlag::NoException : XCheckTLBFlag::Read; + const u32 pteg = ReadFromHardware(pteg_addr); if (pte1.Hex == pteg) { - UPTE_Hi pte2(ReadFromHardware(pteg_addr + 4)); + UPTE_Hi pte2(ReadFromHardware(pteg_addr + 4)); // set the access bits switch (flag)