diff --git a/PlayWall/src/de/tobias/playpad/viewcontroller/pad/PadViewController.java b/PlayWall/src/de/tobias/playpad/viewcontroller/pad/PadViewController.java
index e39abcda8c007b79c7a00ea961ba37d1f39a8b73..1f112d73fd2f853ef34bd99a3fe91cb7ed3d676e 100644
--- a/PlayWall/src/de/tobias/playpad/viewcontroller/pad/PadViewController.java
+++ b/PlayWall/src/de/tobias/playpad/viewcontroller/pad/PadViewController.java
@@ -54,6 +54,7 @@ public class PadViewController implements EventHandler<ActionEvent>, IPadViewCon
 	private PadPositionListener padPositionListener;
 
 	private PadDragListener padDragListener;
+	private transient PadSettingsViewController padSettingsViewController;
 
 	public PadViewController() {
 		view = new PadView(this);
@@ -183,13 +184,15 @@ public class PadViewController implements EventHandler<ActionEvent>, IPadViewCon
 			}
 
 			Stage owner = mvc.getStage();
-			PadSettingsViewController controller = new PadSettingsViewController(pad, owner);
-			controller.getStage().setOnHiding(ev ->
-			{
-				if (view != null && pad != null)
-					view.setTriggerLabelActive(pad.hasTriggerItems());
-			});
-			controller.getStage().show();
+			if (padSettingsViewController == null) {
+				padSettingsViewController = new PadSettingsViewController(pad, owner);
+				padSettingsViewController.getStage().setOnHiding(ev ->
+				{
+					if (view != null && pad != null)
+						view.setTriggerLabelActive(pad.hasTriggerItems());
+				});
+			}
+			padSettingsViewController.getStage().show();
 		}
 	}
 
@@ -230,7 +233,7 @@ public class PadViewController implements EventHandler<ActionEvent>, IPadViewCon
 	@Override
 	public void setPad(Pad pad) {
 		unconnectPad();
-		
+
 		this.pad = pad;
 
 		view.setPreviewContent(pad);