diff --git a/PlayWall/src/main/java/de/tobias/playpad/layout/desktop/pad/DesktopPadViewController.java b/PlayWall/src/main/java/de/tobias/playpad/layout/desktop/pad/DesktopPadViewController.java
index 0bd8aab676d73a3bd10ec39b37c7f27e69c7af19..fd9acc77f4555699721cdea533a759b8a673a3fd 100644
--- a/PlayWall/src/main/java/de/tobias/playpad/layout/desktop/pad/DesktopPadViewController.java
+++ b/PlayWall/src/main/java/de/tobias/playpad/layout/desktop/pad/DesktopPadViewController.java
@@ -24,7 +24,6 @@ import de.tobias.playpad.viewcontroller.option.pad.PadSettingsViewController;
 import javafx.beans.value.ChangeListener;
 import javafx.event.ActionEvent;
 import javafx.event.EventHandler;
-import javafx.stage.Stage;
 import javafx.util.Duration;
 
 public class DesktopPadViewController extends AbstractPadViewController implements EventHandler<ActionEvent> {
@@ -209,15 +208,11 @@ public class DesktopPadViewController extends AbstractPadViewController implemen
 		IMainViewController mvc = PlayPadPlugin.getInstance().getMainViewController();
 
 		if (mvc != null) {
-			if (pad.getProject() != null) {
-				if (settings.isLiveMode() && settings.isLiveModeSettings() && pad.getProject().getActivePlayers() > 0) {
-					return;
-				}
+			if (pad.getProject() != null && settings.isLiveMode() && settings.isLiveModeSettings() && pad.getProject().getActivePlayers() > 0) {
+				return;
 			}
 
-			Stage owner = mvc.getStage();
-
-			PadSettingsViewController padSettingsViewController = new PadSettingsViewController(pad, owner);
+			PadSettingsViewController padSettingsViewController = new PadSettingsViewController(pad, mvc);
 			padSettingsViewController.getStageContainer().ifPresent(nvcStage -> nvcStage.addCloseHook(() -> {
 				if (padView != null && pad != null)
 					padView.setTriggerLabelActive(pad.getPadSettings().hasTriggerItems());
diff --git a/PlayWall/src/main/java/de/tobias/playpad/trigger/CartTriggerItemFactory.java b/PlayWall/src/main/java/de/tobias/playpad/trigger/CartTriggerItemFactory.java
index 98290adbcd0df99adf16698fe28258999e072a94..e103e69319bbd4457628bb024cc4f812e00d2c66 100644
--- a/PlayWall/src/main/java/de/tobias/playpad/trigger/CartTriggerItemFactory.java
+++ b/PlayWall/src/main/java/de/tobias/playpad/trigger/CartTriggerItemFactory.java
@@ -6,6 +6,7 @@ import de.tobias.playpad.Strings;
 import de.tobias.playpad.tigger.Trigger;
 import de.tobias.playpad.tigger.TriggerItem;
 import de.tobias.playpad.tigger.TriggerItemFactory;
+import de.tobias.playpad.viewcontroller.main.IMainViewController;
 import de.tobias.playpad.viewcontroller.option.pad.trigger.CartTriggerViewController;
 
 public class CartTriggerItemFactory extends TriggerItemFactory {
@@ -20,8 +21,8 @@ public class CartTriggerItemFactory extends TriggerItemFactory {
 	}
 
 	@Override
-	public NVC getSettingsController(TriggerItem item) {
-		return new CartTriggerViewController((CartTriggerItem) item);
+	public NVC getSettingsController(TriggerItem item, IMainViewController mainViewController) {
+		return new CartTriggerViewController((CartTriggerItem) item, mainViewController);
 	}
 
 	@Override
diff --git a/PlayWall/src/main/java/de/tobias/playpad/trigger/VolumeTriggerItemFactory.java b/PlayWall/src/main/java/de/tobias/playpad/trigger/VolumeTriggerItemFactory.java
index 73d2447a29858d8ba7ea630749aa89d8cec357dc..fa908a635f0a02ded7f7e3c4518a21a6c5efef05 100644
--- a/PlayWall/src/main/java/de/tobias/playpad/trigger/VolumeTriggerItemFactory.java
+++ b/PlayWall/src/main/java/de/tobias/playpad/trigger/VolumeTriggerItemFactory.java
@@ -6,6 +6,7 @@ import de.tobias.playpad.Strings;
 import de.tobias.playpad.tigger.Trigger;
 import de.tobias.playpad.tigger.TriggerItem;
 import de.tobias.playpad.tigger.TriggerItemFactory;
+import de.tobias.playpad.viewcontroller.main.IMainViewController;
 import de.tobias.playpad.viewcontroller.option.pad.trigger.VolumeTriggerViewController;
 
 public class VolumeTriggerItemFactory extends TriggerItemFactory {
@@ -20,8 +21,8 @@ public class VolumeTriggerItemFactory extends TriggerItemFactory {
 	}
 
 	@Override
-	public NVC getSettingsController(TriggerItem item) {
-		return new VolumeTriggerViewController((VolumeTriggerItem) item);
+	public NVC getSettingsController(TriggerItem item, IMainViewController mainViewController) {
+		return new VolumeTriggerViewController((VolumeTriggerItem) item, mainViewController);
 	}
 
 	@Override
diff --git a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/PadSettingsViewController.java b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/PadSettingsViewController.java
index 6978c980df2c3b71ed0a1928c142b6f3a44832ab..efccf7b0e68031570f6c1e06d0a82ab2de46366f 100644
--- a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/PadSettingsViewController.java
+++ b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/PadSettingsViewController.java
@@ -14,13 +14,13 @@ import de.tobias.playpad.pad.content.Playlistable;
 import de.tobias.playpad.registry.NoSuchComponentException;
 import de.tobias.playpad.viewcontroller.IPadSettingsViewController;
 import de.tobias.playpad.viewcontroller.PadSettingsTabViewController;
+import de.tobias.playpad.viewcontroller.main.IMainViewController;
 import javafx.event.ActionEvent;
 import javafx.fxml.FXML;
 import javafx.scene.control.Button;
 import javafx.scene.control.Tab;
 import javafx.scene.control.TabPane;
 import javafx.stage.Stage;
-import javafx.stage.Window;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -36,7 +36,7 @@ public class PadSettingsViewController extends NVC implements IPadSettingsViewCo
 	@FXML
 	private Button finishButton;
 
-	public PadSettingsViewController(Pad pad, Window owner) {
+	public PadSettingsViewController(Pad pad, IMainViewController mainViewController) {
 		load("view/option/pad", "PadSettingsView", Localization.getBundle());
 		this.pad = pad;
 
@@ -46,7 +46,7 @@ public class PadSettingsViewController extends NVC implements IPadSettingsViewCo
 		}
 		addTab(new DesignPadTabViewController(pad));
 		addTab(new PlayerPadTabViewController(pad));
-		addTab(new TriggerPadTabViewController(pad));
+		addTab(new TriggerPadTabViewController(pad, mainViewController));
 
 		if (pad.getContent() != null) {
 			try {
@@ -65,7 +65,7 @@ public class PadSettingsViewController extends NVC implements IPadSettingsViewCo
 		}
 
 		NVCStage nvcStage = applyViewControllerToStage();
-		nvcStage.initOwner(owner);
+		nvcStage.initOwner(mainViewController.getStage());
 		nvcStage.addCloseHook(this::onFinish);
 		addCloseKeyShortcut(() -> finishButton.fire());
 
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 33fd3432634f564d5718ba8fc85d4fc4725a42b7..d9e1d8fc62dee9745734c99a475b77898a0bf5ea 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
@@ -8,6 +8,7 @@ import de.tobias.playpad.tigger.TriggerPoint;
 import de.tobias.playpad.trigger.TriggerDisplayable;
 import de.tobias.playpad.viewcontroller.PadSettingsTabViewController;
 import de.tobias.playpad.viewcontroller.cell.DisplayableTreeCell;
+import de.tobias.playpad.viewcontroller.main.IMainViewController;
 import de.tobias.playpad.viewcontroller.option.pad.trigger.TriggerPointViewController;
 import javafx.beans.value.ChangeListener;
 import javafx.beans.value.ObservableValue;
@@ -26,9 +27,11 @@ public class TriggerPadTabViewController extends PadSettingsTabViewController im
 	@FXML
 	private VBox contentView;
 
-	private Pad pad;
+	private final Pad pad;
+	private final IMainViewController mainViewController;
 
-	TriggerPadTabViewController(Pad pad) {
+	TriggerPadTabViewController(Pad pad, IMainViewController mainViewController) {
+		this.mainViewController = mainViewController;
 		load("view/option/pad", "TriggerTab", Localization.getBundle());
 		this.pad = pad;
 	}
@@ -61,7 +64,7 @@ public class TriggerPadTabViewController extends PadSettingsTabViewController im
 
 		if (newValue != null) {
 			TriggerDisplayable triggerWrapper = newValue.getValue();
-			TriggerPointViewController controller = new TriggerPointViewController(triggerWrapper);
+			TriggerPointViewController controller = new TriggerPointViewController(mainViewController, triggerWrapper);
 			contentView.getChildren().setAll(controller.getParent());
 			VBox.setVgrow(controller.getParent(), Priority.ALWAYS);
 		}
diff --git a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/trigger/CartTriggerViewController.java b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/trigger/CartTriggerViewController.java
index 854bcf6a2be17653929e22e6a8a5ef125c066bd6..1168ae13aedb828a12ba14ff18c14bad68718a1d 100644
--- a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/trigger/CartTriggerViewController.java
+++ b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/trigger/CartTriggerViewController.java
@@ -8,6 +8,7 @@ import de.tobias.playpad.pad.PadStatus;
 import de.tobias.playpad.project.Project;
 import de.tobias.playpad.trigger.CartTriggerItem;
 import de.tobias.playpad.view.main.ProjectPreviewView;
+import de.tobias.playpad.viewcontroller.main.IMainViewController;
 import javafx.beans.InvalidationListener;
 import javafx.fxml.FXML;
 import javafx.geometry.Insets;
@@ -29,13 +30,13 @@ public class CartTriggerViewController extends NVC {
 
 	private final CartTriggerItem item;
 
-	public CartTriggerViewController(CartTriggerItem item) {
+	public CartTriggerViewController(CartTriggerItem item, IMainViewController mainViewController) {
 		load("view/option/pad/trigger", "CartTrigger", Localization.getBundle());
 		this.item = item;
 
 		Project project = PlayPadMain.getProgramInstance().getCurrentProject();
 		final List<Pad> pads = item.getCarts().stream().map(project::getPad).collect(Collectors.toList());
-		projectPreviewView = new ProjectPreviewView(project, pads);
+		projectPreviewView = new ProjectPreviewView(project, pads, mainViewController.getPage());
 		projectPreviewView.setPadding(new Insets(0, 0, 0, 164));
 		projectPreviewView.selectedProperty().addListener((InvalidationListener) observable -> {
 			item.getCarts().clear();
diff --git a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/trigger/TriggerPointViewController.java b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/trigger/TriggerPointViewController.java
index 4e79c66990bb5cd099a81b4fc5fb2e4a3bb87f0c..85793e58329cc0793f8919085cf1059bd01cb500 100644
--- a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/trigger/TriggerPointViewController.java
+++ b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/trigger/TriggerPointViewController.java
@@ -10,6 +10,7 @@ import de.tobias.playpad.registry.NoSuchComponentException;
 import de.tobias.playpad.tigger.TriggerItem;
 import de.tobias.playpad.tigger.TriggerItemFactory;
 import de.tobias.playpad.trigger.TriggerDisplayable;
+import de.tobias.playpad.viewcontroller.main.IMainViewController;
 import javafx.fxml.FXML;
 import javafx.scene.control.Button;
 import javafx.scene.control.ContentDisplay;
@@ -26,14 +27,16 @@ public class TriggerPointViewController extends NVC {
 	@FXML
 	private HBox buttonBox;
 
+	private final IMainViewController mainViewController;
 	private final TriggerDisplayable triggerWrapper;
 
-	public TriggerPointViewController(TriggerDisplayable triggerWrapper) {
+	public TriggerPointViewController(IMainViewController mainViewController, TriggerDisplayable triggerWrapper) {
+		this.mainViewController = mainViewController;
 		load("view/option/pad/trigger", "TriggerPoint", Localization.getBundle());
 		this.triggerWrapper = triggerWrapper;
 
 		for (TriggerItem item : triggerWrapper.getTrigger().getItems()) {
-			showTriggerItem(item);
+			showTriggerItem(item, mainViewController);
 		}
 	}
 
@@ -53,7 +56,7 @@ public class TriggerPointViewController extends NVC {
 					TriggerItem triggerItem = factory.newInstance(triggerWrapper.getTrigger());
 
 					triggerWrapper.addItem(triggerItem);
-					showTriggerItem(triggerItem);
+					showTriggerItem(triggerItem, mainViewController);
 				});
 				buttonBox.getChildren().add(button);
 			} catch (NoSuchComponentException e) {
@@ -62,12 +65,12 @@ public class TriggerPointViewController extends NVC {
 		});
 	}
 
-	private void showTriggerItem(TriggerItem item) {
+	private void showTriggerItem(TriggerItem item, IMainViewController mainViewController) {
 		try {
 			TriggerItemFactory connect = PlayPadPlugin.getRegistries().getTriggerItems().getFactory(item.getType());
 
 			VBox itemBox = new VBox(14);
-			NVC controller = connect.getSettingsController(item);
+			NVC controller = connect.getSettingsController(item, mainViewController);
 			if (controller != null) {
 				itemBox.getChildren().add(controller.getParent());
 
diff --git a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/trigger/VolumeTriggerViewController.java b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/trigger/VolumeTriggerViewController.java
index 10a1a70dfb79ad38c6eedcacaa450384a65cdef9..f48a57341e8a354af30dafc4ead00f256d7955f4 100644
--- a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/trigger/VolumeTriggerViewController.java
+++ b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/trigger/VolumeTriggerViewController.java
@@ -8,6 +8,7 @@ import de.tobias.playpad.pad.Pad;
 import de.tobias.playpad.project.Project;
 import de.tobias.playpad.trigger.VolumeTriggerItem;
 import de.tobias.playpad.view.main.ProjectPreviewView;
+import de.tobias.playpad.viewcontroller.main.IMainViewController;
 import javafx.beans.InvalidationListener;
 import javafx.fxml.FXML;
 import javafx.geometry.Insets;
@@ -30,20 +31,20 @@ public class VolumeTriggerViewController extends NVC {
 	private Slider durationSlider;
 	@FXML
 	private Label durationLabel;
-	private ProjectPreviewView projectPreviewView;
+	private final ProjectPreviewView projectPreviewView;
 
-	private VolumeTriggerItem item;
+	private final VolumeTriggerItem item;
 
-	public VolumeTriggerViewController(VolumeTriggerItem item) {
+	public VolumeTriggerViewController(VolumeTriggerItem item, IMainViewController mainViewController) {
 		load("view/option/pad/trigger", "VolumeTrigger", Localization.getBundle());
 		this.item = item;
 
 		volumeSlider.setValue(item.getVolume() * 100.0);
 		durationSlider.setValue(item.getDuration().toSeconds());
 
-		Project project = PlayPadMain.getProgramInstance().getCurrentProject();
+		final Project project = PlayPadMain.getProgramInstance().getCurrentProject();
 		final List<Pad> pads = item.getCarts().stream().map(project::getPad).collect(Collectors.toList());
-		projectPreviewView = new ProjectPreviewView(project, pads);
+		projectPreviewView = new ProjectPreviewView(project, pads, mainViewController.getPage());
 		projectPreviewView.setPadding(new Insets(0, 0, 0, 164));
 		projectPreviewView.selectedProperty().addListener((InvalidationListener) observable -> {
 			item.getCarts().clear();
diff --git a/PlayWallCore/src/main/java/de/tobias/playpad/tigger/TriggerItemFactory.java b/PlayWallCore/src/main/java/de/tobias/playpad/tigger/TriggerItemFactory.java
index 9590d921a24a86a84453ff83acbcce147cb69c91..118dc56017638413688062a0bd742f59ffc05dec 100644
--- a/PlayWallCore/src/main/java/de/tobias/playpad/tigger/TriggerItemFactory.java
+++ b/PlayWallCore/src/main/java/de/tobias/playpad/tigger/TriggerItemFactory.java
@@ -2,6 +2,7 @@ package de.tobias.playpad.tigger;
 
 import de.thecodelabs.utils.ui.NVC;
 import de.tobias.playpad.registry.Component;
+import de.tobias.playpad.viewcontroller.main.IMainViewController;
 
 public abstract class TriggerItemFactory extends Component {
 
@@ -11,6 +12,6 @@ public abstract class TriggerItemFactory extends Component {
 
 	public abstract TriggerItem newInstance(Trigger trigger);
 
-	public abstract NVC getSettingsController(TriggerItem item);
+	public abstract NVC getSettingsController(TriggerItem item, IMainViewController mainViewController);
 
 }
diff --git a/PlayWallCore/src/main/java/de/tobias/playpad/view/main/ProjectPreviewView.java b/PlayWallCore/src/main/java/de/tobias/playpad/view/main/ProjectPreviewView.java
index 10bba54fef944f0b3dd71fe6a651bf867b4a54f7..bb9abce473f17fc7c67709fff6fc8630bb3d1869 100644
--- a/PlayWallCore/src/main/java/de/tobias/playpad/view/main/ProjectPreviewView.java
+++ b/PlayWallCore/src/main/java/de/tobias/playpad/view/main/ProjectPreviewView.java
@@ -15,21 +15,21 @@ import java.util.List;
 
 public class ProjectPreviewView extends Pagination {
 
-	private Project project;
+	private final Project project;
+	private final ObservableList<Pad> selected;
 
-	private ObservableList<Pad> selected;
-
-	public ProjectPreviewView(Project project, List<Pad> preSelect) {
+	public ProjectPreviewView(Project project, List<Pad> preSelect, int initialPage) {
 		super(project.getPages().size());
 		this.project = project;
 		this.selected = FXCollections.observableArrayList(preSelect);
 
+		setCurrentPageIndex(initialPage);
 		setPageFactory(index -> {
 			GridPane gridPane = new GridPane();
 			gridPane.setHgap(7);
 			gridPane.setVgap(7);
 
-			Page page = project.getPage(index);
+			final Page page = project.getPage(index);
 			for (int x = 0; x < project.getSettings().getColumns(); x++) {
 				for (int y = 0; y < project.getSettings().getRows(); y++) {
 					final Pad pad = page.getPad(x, y);