diff --git a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/TriggerPadTabViewController.java b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/TriggerPadTabViewController.java
index d9e1d8fc62dee9745734c99a475b77898a0bf5ea..a55c2346f4d9d209f04bfed7611d3d19dbc68382 100644
--- a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/TriggerPadTabViewController.java
+++ b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/TriggerPadTabViewController.java
@@ -48,10 +48,12 @@ public class TriggerPadTabViewController extends PadSettingsTabViewController im
 
 		// Sort the types for the tree view
 		for (TriggerPoint point : TriggerPoint.values()) {
-			Trigger trigger = triggers.get(point);
+			if (point.isAvailable(pad)) {
+				Trigger trigger = triggers.get(point);
 
-			TreeItem<TriggerDisplayable> triggerItem = new TreeItem<>(new TriggerDisplayable(trigger));
-			rootItem.getChildren().add(triggerItem);
+				TreeItem<TriggerDisplayable> triggerItem = new TreeItem<>(new TriggerDisplayable(trigger));
+				rootItem.getChildren().add(triggerItem);
+			}
 		}
 
 		treeView.setRoot(rootItem);
diff --git a/PlayWallCore/src/main/java/de/tobias/playpad/tigger/TriggerPoint.java b/PlayWallCore/src/main/java/de/tobias/playpad/tigger/TriggerPoint.java
index 175f1517ebb0418ad0684ea6f2693853d1203fa3..4dc9e6f2155903d3a48a7ed57a399b34ecb2b0fb 100644
--- a/PlayWallCore/src/main/java/de/tobias/playpad/tigger/TriggerPoint.java
+++ b/PlayWallCore/src/main/java/de/tobias/playpad/tigger/TriggerPoint.java
@@ -1,22 +1,37 @@
 package de.tobias.playpad.tigger;
 
+import de.tobias.playpad.pad.Pad;
+import de.tobias.playpad.pad.content.Playlistable;
+
+import java.util.function.Predicate;
+
 public enum TriggerPoint {
 
-	START(true),
-	STOP(false),
-	EOF(true),
-	PLAYLIST_NEXT(false);
+	START(true, pad -> !(pad.getContent() instanceof Playlistable)),
+	STOP(false, pad -> !(pad.getContent() instanceof Playlistable)),
+	EOF(true,  pad -> !(pad.getContent() instanceof Playlistable)),
+	PLAYLIST_NEXT(false,  pad -> pad.getContent() instanceof Playlistable);
 
 	/**
 	 * Defines if a trigger can be run after, before a certain event.
 	 */
 	private final boolean timeAppendable;
+	private final Predicate<Pad> availablePredicate;
 
-	TriggerPoint(boolean timeAppendable) {
+	TriggerPoint(boolean timeAppendable, Predicate<Pad> availablePredicate) {
 		this.timeAppendable = timeAppendable;
+		this.availablePredicate = availablePredicate;
 	}
 
 	public boolean isTimeAppendable() {
 		return timeAppendable;
 	}
+
+	public Predicate<Pad> getAvailablePredicate() {
+		return availablePredicate;
+	}
+
+	public boolean isAvailable(Pad pad) {
+		return availablePredicate.test(pad);
+	}
 }