diff --git a/src/Tgstation.Server.Host/Components/Engine/EngineManager.cs b/src/Tgstation.Server.Host/Components/Engine/EngineManager.cs
index b09dc5860d..0ae4dbf9ee 100644
--- a/src/Tgstation.Server.Host/Components/Engine/EngineManager.cs
+++ b/src/Tgstation.Server.Host/Components/Engine/EngineManager.cs
@@ -78,7 +78,7 @@ namespace Tgstation.Server.Host.Components.Engine
///
/// that notifes when the changes.
///
- TaskCompletionSource activeVersionChanged;
+ volatile TaskCompletionSource activeVersionChanged;
///
/// Validates a given parameter.
@@ -158,8 +158,8 @@ namespace Tgstation.Server.Host.Components.Engine
ActiveVersion = version;
logger.LogInformation("Active version changed to {version}", version);
- activeVersionChanged.SetResult();
- activeVersionChanged = new TaskCompletionSource();
+ var oldTcs = Interlocked.Exchange(ref activeVersionChanged, new TaskCompletionSource());
+ oldTcs.SetResult();
}
}