diff --git a/src/d/actor/d_a_b_zant.cpp b/src/d/actor/d_a_b_zant.cpp index b3405adb7d..bc6aa0dcdc 100644 --- a/src/d/actor/d_a_b_zant.cpp +++ b/src/d/actor/d_a_b_zant.cpp @@ -5472,6 +5472,15 @@ int daB_ZANT_c::create() { fopAcM_ct(this, daB_ZANT_c); OS_REPORT("B_ZANT PARAM %x\n", fopAcM_GetParam(this)); +#if TARGET_PC + // Due to our loads being so much faster, Zant can initialize *before* the player + // This breaks respawning in the final phase of the fight when it tries + // to load the player's position + if (daPy_getPlayerActorClass() == NULL) { + return cPhs_INIT_e; + } +#endif + mSwbit = fopAcM_GetParam(this); if (mSwbit != 0xFF) { if (dComIfGs_isSwitch(mSwbit, fopAcM_GetRoomNo(this))) {