diff --git a/rpcs3/Emu/Cell/SPURecompiler.cpp b/rpcs3/Emu/Cell/SPURecompiler.cpp index b46a69799d26..75bb3df2961c 100644 --- a/rpcs3/Emu/Cell/SPURecompiler.cpp +++ b/rpcs3/Emu/Cell/SPURecompiler.cpp @@ -297,7 +297,11 @@ void spu_cache::add(const std::vector& func) void spu_cache::initialize() { spu_runtime::g_interpreter = spu_runtime::g_gateway; - *spu_runtime::g_dispatcher = spu_runtime::tr_interpreter; + + if (g_cfg.core.spu_decoder == spu_decoder_type::precise || g_cfg.core.spu_decoder == spu_decoder_type::fast) + { + *spu_runtime::g_dispatcher = spu_runtime::tr_interpreter; + } const std::string ppu_cache = Emu.PPUCache();