diff --git a/soh/soh/Enhancements/randomizer/entrance.cpp b/soh/soh/Enhancements/randomizer/entrance.cpp index ff08e00157..cc14f1e8f4 100644 --- a/soh/soh/Enhancements/randomizer/entrance.cpp +++ b/soh/soh/Enhancements/randomizer/entrance.cpp @@ -1647,10 +1647,12 @@ void EntranceShuffler::CreateEntranceOverrides() { int16_t destinationIndex = -1; int16_t replacementDestinationIndex = -1; - // Only set destination indices for two way entrances and when decouple entrances is off - if (entrance->GetReverse() != nullptr && !ctx->GetOption(RSK_DECOUPLED_ENTRANCES)) { - replacementDestinationIndex = entrance->GetReplacement()->GetReverse()->GetIndex(); + // Track the reverse destination, useful for savewarp handling + if (entrance->GetReverse() != nullptr) { destinationIndex = entrance->GetReverse()->GetIndex(); + if (!ctx->GetOption(RSK_DECOUPLED_ENTRANCES)) { + replacementDestinationIndex = entrance->GetReplacement()->GetReverse()->GetIndex(); + } } entranceOverrides[i] = {