diff --git a/rpcs3/Emu/Cell/SPUThread.cpp b/rpcs3/Emu/Cell/SPUThread.cpp index 7a6c931795..21c1eade16 100644 --- a/rpcs3/Emu/Cell/SPUThread.cpp +++ b/rpcs3/Emu/Cell/SPUThread.cpp @@ -3874,7 +3874,7 @@ bool spu_thread::is_exec_code(u32 addr, std::span ls_ptr, u32 base_add return is_range_limited; } - if (type == spu_itype::BRSL) + if (type == spu_itype::BRSL && op.rt == 0) { // Insert a virtual return-to-next, because it is usually a call results[1] = addr + 4;