diff --git a/PlayWall/src/main/java/de/tobias/playpad/pad/listener/PadDurationListener.java b/PlayWall/src/main/java/de/tobias/playpad/pad/listener/PadDurationListener.java
index a364fed1a5f5f6996c4885374d1b8acd70faa936..ffc4d9b1675b0b89e2fa755f28cc5dfa19c397d0 100644
--- a/PlayWall/src/main/java/de/tobias/playpad/pad/listener/PadDurationListener.java
+++ b/PlayWall/src/main/java/de/tobias/playpad/pad/listener/PadDurationListener.java
@@ -7,7 +7,7 @@ import javafx.util.Duration;
 
 public class PadDurationListener implements ChangeListener<Duration> {
 
-	private AbstractPadViewController controller;
+	private final AbstractPadViewController controller;
 
 	public PadDurationListener(AbstractPadViewController controller) {
 		this.controller = controller;
diff --git a/PlayWall/src/main/java/de/tobias/playpad/pad/listener/PadPositionListener.java b/PlayWall/src/main/java/de/tobias/playpad/pad/listener/PadPositionListener.java
index d2eee40c01f93808951f6e4039858d88ccdd5349..55d09a90259e837035805b1d3ea6d0c37519b6a4 100644
--- a/PlayWall/src/main/java/de/tobias/playpad/pad/listener/PadPositionListener.java
+++ b/PlayWall/src/main/java/de/tobias/playpad/pad/listener/PadPositionListener.java
@@ -78,8 +78,8 @@ public class PadPositionListener implements Runnable, IPadPositionListener {
 		// Label (Restlaufzeit)
 		controller.updateTimeLabel();
 
-		// Warning nur wenn kein Loop und nur wenn Play, da sonst schon anderer Zustand und Warning nicht mehr richtig Reseted
-		// wird
+		// Warning nur, wenn kein Loop und nur wenn Play, da sonst schon anderer Zustand und Warning nicht mehr richtig
+		// zurückgesetzt wird
 		if (!pad.getPadSettings().isLoop() && pad.getStatus() == PadStatus.PLAY) {
 			// Warning
 			Duration warning = pad.getPadSettings().getWarning();
@@ -90,6 +90,11 @@ public class PadPositionListener implements Runnable, IPadPositionListener {
 				startWarningThread();
 				send = true;
 			}
+
+			if (warning.toSeconds() < seconds && send) {
+				stopWaning();
+				send = false;
+			}
 		}
 	}