diff --git a/stepmania/src/ScreenEvaluation.cpp b/stepmania/src/ScreenEvaluation.cpp index 13c56023f9..e54820c0de 100644 --- a/stepmania/src/ScreenEvaluation.cpp +++ b/stepmania/src/ScreenEvaluation.cpp @@ -1392,6 +1392,11 @@ void ScreenEvaluation::HandleScreenMessage( const ScreenMessage SM ) break; case SM_GoToNextScreen: { + /* Hack: finish the stage before moving on. This will increment the stage + * counter. If we don't do this, the stage counter will be wrong for + * ScreenSelectMusic code which is called before the ctor. */ + GAMESTATE->FinishStage(); + if( PREFSMAN->m_bEventMode ) SCREENMAN->SetNewScreen( NEXT_SCREEN ); else