diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/MarkPassingCalculator.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/MarkPassingCalculator.java index 0bfb3a9eeff..06d58dfb1c3 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/MarkPassingCalculator.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/MarkPassingCalculator.java @@ -200,13 +200,14 @@ public class MarkPassingCalculator { */ public void waitUntilStopped(final long timeoutInMillis) throws InterruptedException { final long start = System.currentTimeMillis(); - if (listenerThread != null) { - synchronized (listenerThread) { + final Thread theListenerThread = listenerThread; + if (theListenerThread != null) { + synchronized (theListenerThread) { while (!listenerThreadStarted && System.currentTimeMillis() - start < timeoutInMillis) { - listenerThread.wait(timeoutInMillis); + theListenerThread.wait(timeoutInMillis); } } - listenerThread.join(timeoutInMillis); + theListenerThread.join(timeoutInMillis); } }