diff --git a/src/modules/Elsa.Workflows.Runtime/HealthChecks/ElsaDistributedLockHealthCheck.cs b/src/modules/Elsa.Workflows.Runtime/HealthChecks/ElsaDistributedLockHealthCheck.cs
index ce7abe68c..756089f3c 100644
--- a/src/modules/Elsa.Workflows.Runtime/HealthChecks/ElsaDistributedLockHealthCheck.cs
+++ b/src/modules/Elsa.Workflows.Runtime/HealthChecks/ElsaDistributedLockHealthCheck.cs
@@ -9,7 +9,7 @@ namespace Elsa.Workflows.Runtime.HealthChecks;
///
public class ElsaDistributedLockHealthCheck(IDistributedLockProvider distributedLockProvider) : IHealthCheck
{
- private const string LockName = "elsa-health-check";
+ private static readonly string LockName = $"elsa-health-check-{Environment.MachineName}-{Guid.NewGuid():N}";
private static readonly TimeSpan LockAcquisitionTimeout = TimeSpan.FromSeconds(1);
///
diff --git a/test/unit/Elsa.Workflows.Runtime.UnitTests/HealthChecks/ElsaDistributedLockHealthCheckTests.cs b/test/unit/Elsa.Workflows.Runtime.UnitTests/HealthChecks/ElsaDistributedLockHealthCheckTests.cs
index e531a09b5..297eaa90a 100644
--- a/test/unit/Elsa.Workflows.Runtime.UnitTests/HealthChecks/ElsaDistributedLockHealthCheckTests.cs
+++ b/test/unit/Elsa.Workflows.Runtime.UnitTests/HealthChecks/ElsaDistributedLockHealthCheckTests.cs
@@ -27,7 +27,7 @@ public class ElsaDistributedLockHealthCheckTests
Assert.Equal(HealthStatus.Healthy, result.Status);
Assert.Equal("distributed-locks", result.Data["category"]);
- _distributedLockProvider.Received(1).CreateLock("elsa-health-check");
+ _distributedLockProvider.Received(1).CreateLock(Arg.Is(x => x.StartsWith("elsa-health-check-", StringComparison.Ordinal)));
await _distributedLock.Received(1).TryAcquireAsync(ExpectedLockAcquisitionTimeout, Arg.Any());
}