diff --git a/osu.Game.Tests/Gameplay/TestSceneMasterGameplayClockContainer.cs b/osu.Game.Tests/Gameplay/TestSceneMasterGameplayClockContainer.cs
index 77b402ad3c..0ed432bbea 100644
--- a/osu.Game.Tests/Gameplay/TestSceneMasterGameplayClockContainer.cs
+++ b/osu.Game.Tests/Gameplay/TestSceneMasterGameplayClockContainer.cs
@@ -85,10 +85,7 @@ namespace osu.Game.Tests.Gameplay
Add(gameplayClockContainer = new MasterGameplayClockContainer(working, 0));
- if (whileStopped)
- gameplayClockContainer.Stop();
-
- gameplayClockContainer.Reset();
+ gameplayClockContainer.Reset(startClock: !whileStopped);
});
AddStep($"set clock rate to {clockRate}", () => working.Track.AddAdjustment(AdjustableProperty.Frequency, new BindableDouble(clockRate)));
diff --git a/osu.Game/Screens/OnlinePlay/Multiplayer/Spectate/MultiSpectatorPlayer.cs b/osu.Game/Screens/OnlinePlay/Multiplayer/Spectate/MultiSpectatorPlayer.cs
index 615bd41f3f..ececa1e497 100644
--- a/osu.Game/Screens/OnlinePlay/Multiplayer/Spectate/MultiSpectatorPlayer.cs
+++ b/osu.Game/Screens/OnlinePlay/Multiplayer/Spectate/MultiSpectatorPlayer.cs
@@ -55,8 +55,6 @@ namespace osu.Game.Screens.OnlinePlay.Multiplayer.Spectate
public SpectatorGameplayClockContainer([NotNull] IClock sourceClock)
: base(sourceClock)
{
- // the container should initially be in a stopped state until the catch-up clock is started by the sync manager.
- Stop();
}
protected override void Update()
diff --git a/osu.Game/Screens/Play/GameplayClockContainer.cs b/osu.Game/Screens/Play/GameplayClockContainer.cs
index 66f5cb0bd4..226f5709c7 100644
--- a/osu.Game/Screens/Play/GameplayClockContainer.cs
+++ b/osu.Game/Screens/Play/GameplayClockContainer.cs
@@ -24,7 +24,7 @@ namespace osu.Game.Screens.Play
///
/// Whether gameplay is paused.
///
- public readonly BindableBool IsPaused = new BindableBool();
+ public readonly BindableBool IsPaused = new BindableBool(true);
///
/// The adjustable source clock used for gameplay. Should be used for seeks and clock control.
@@ -115,7 +115,7 @@ namespace osu.Game.Screens.Play
///
/// Resets this and the source to an initial state ready for gameplay.
///
- /// Whether to start the clock immediately.
+ /// Whether to start the clock immediately, if not already started.
/// A time to use for future calls as the definite start of gameplay.
public void Reset(bool startClock = false, double? gameplayStartTime = null)
{
@@ -128,7 +128,7 @@ namespace osu.Game.Screens.Play
// Manually stop the source in order to not affect the IsPaused state.
AdjustableSource.Stop();
- if (!IsPaused.Value && startClock)
+ if (!IsPaused.Value || startClock)
Start();
}