diff --git a/src/g_level.cpp b/src/g_level.cpp index b80fbc280..952c49938 100644 --- a/src/g_level.cpp +++ b/src/g_level.cpp @@ -654,7 +654,8 @@ void FLevelLocals::ChangeLevel(const char *levelname, int position, int inflags, nextlevel = levelname; } - NextSkill = (unsigned)nextSkill < AllSkills.Size() ? nextSkill : -1; + if (nextSkill != -1) + NextSkill = (unsigned)nextSkill < AllSkills.Size() ? nextSkill : -1; if (inflags & CHANGELEVEL_NOINTERMISSION) {