diff --git a/osu.Game/Scoring/ScorePerformanceManager.cs b/osu.Game/Scoring/ScorePerformanceManager.cs
index b7657c73c6..746aa67a55 100644
--- a/osu.Game/Scoring/ScorePerformanceManager.cs
+++ b/osu.Game/Scoring/ScorePerformanceManager.cs
@@ -24,14 +24,14 @@ namespace osu.Game.Scoring
///
/// The score to do the calculation on.
/// An optional to cancel the operation.
- public async Task CalculatePerformanceAsync([NotNull] ScoreInfo score, CancellationToken token = default)
+ public Task CalculatePerformanceAsync([NotNull] ScoreInfo score, CancellationToken token = default)
{
var lookupKey = new PerformanceCacheLookup(score);
if (performanceCache.TryGetValue(lookupKey, out double performance))
- return performance;
+ return Task.FromResult((double?)performance);
- return await computePerformanceAsync(score, lookupKey, token);
+ return computePerformanceAsync(score, lookupKey, token);
}
private async Task computePerformanceAsync(ScoreInfo score, PerformanceCacheLookup lookupKey, CancellationToken token = default)