diff --git a/osu.Game/Screens/Play/Player.cs b/osu.Game/Screens/Play/Player.cs
index 9bc784411a..7721d5b912 100644
--- a/osu.Game/Screens/Play/Player.cs
+++ b/osu.Game/Screens/Play/Player.cs
@@ -780,19 +780,11 @@ namespace osu.Game.Screens.Play
///
///
/// A final display will only occur once all work is completed in . This means that even after calling this method, the results screen will never be shown until ScoreProcessor.HasCompleted becomes .
- ///
- /// Calling this method multiple times will have no effect.
///
/// Whether a minimum delay () should be added before the screen is displayed.
private void progressToResults(bool withDelay)
{
- if (resultsDisplayDelegate != null)
- // Note that if progressToResults is called one withDelay=true and then withDelay=false, this no-delay timing will not be
- // accounted for. shouldn't be a huge concern (a user pressing the skip button after a results progression has already been queued
- // may take x00 more milliseconds than expected in the very rare edge case).
- //
- // If required we can handle this more correctly by rescheduling here.
- return;
+ resultsDisplayDelegate?.Cancel();
double delay = withDelay ? RESULTS_DISPLAY_DELAY : 0;