diff --git a/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/ContentPlayerViewController.scala b/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/ContentPlayerViewController.scala
index d53e5ca7b5c4c2a3192e84c98f0fb72d78eebb59..efb69ca36421d162eaa84a956ef86ad0ffdab212 100644
--- a/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/ContentPlayerViewController.scala
+++ b/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/ContentPlayerViewController.scala
@@ -1,9 +1,12 @@
 package de.tobias.playpad.plugin.content
 
+import java.util.stream.Collectors
+
 import de.thecodelabs.logger.Logger
 import de.thecodelabs.utils.ui.NVC
 import de.thecodelabs.utils.ui.size.IgnoreStageSizing
 import de.tobias.playpad.plugin.content.settings.{PlayerInstance, PlayerInstanceConfiguration}
+import de.tobias.playpad.project.page.PadIndex
 import javafx.geometry.Insets
 import javafx.scene.layout._
 import javafx.scene.media.{MediaPlayer, MediaView}
@@ -25,7 +28,7 @@ class ContentPlayerViewController extends NVC {
 		setWidth(playerInstance.width)
 		setHeight(playerInstance.height)
 
-		def showMediaPlayer(mediaPlayer: MediaPlayer): Unit = {
+		def showMediaPlayer(padIndex: PadIndex, mediaPlayer: MediaPlayer): Unit = {
 			if (!mediaViews.contains(mediaPlayer)) {
 				val mediaView = new MediaView(mediaPlayer)
 				mediaView.setFitWidth(playerInstance.width)
@@ -34,9 +37,11 @@ class ContentPlayerViewController extends NVC {
 			}
 
 			val mediaView = mediaViews(mediaPlayer)
+			mediaView.setUserData(padIndex)
 
 			if (!getChildren.contains(mediaView)) {
-				getChildren.add(mediaView)
+				val index = activePlayers.indexOf(padIndex)
+				getChildren.add(index, mediaView)
 			}
 		}
 
@@ -45,8 +50,11 @@ class ContentPlayerViewController extends NVC {
 				getChildren.remove(mediaViews(mediaPlayer))
 			}
 		}
+
+		override def toString: String = f"MediaPlayerStack: ${getChildren.stream().map(view => f"MediaView: ${view.getUserData}").collect(Collectors.joining(", "))}"
 	}
 
+	private var activePlayers: ListBuffer[PadIndex] = ListBuffer.empty
 	private val mediaPlayers: ListBuffer[MediaPlayerStack] = ListBuffer.empty
 
 	load("view", "PlayerView")
@@ -66,12 +74,12 @@ class ContentPlayerViewController extends NVC {
 		stage.getScene.setFill(Color.BLACK)
 	}
 
-	def showMediaPlayer(mediaPlayer: MediaPlayer, zones: Seq[PlayerInstance]): Unit = {
+	def showMediaPlayer(padIndex: PadIndex, mediaPlayer: MediaPlayer, zones: Seq[PlayerInstance]): Unit = {
 		val iterator = this.mediaPlayers.iterator
 		while (iterator.hasNext) {
 			val mediaPlayerStack = iterator.next()
 			if (zones.contains(mediaPlayerStack.playerInstance)) {
-				mediaPlayerStack.showMediaPlayer(mediaPlayer)
+				mediaPlayerStack.showMediaPlayer(padIndex, mediaPlayer)
 			}
 		}
 	}
@@ -111,4 +119,8 @@ class ContentPlayerViewController extends NVC {
 			stage.setHeight(maxHeight)
 		})
 	}
+
+	def addActivePadToList(padIndex: PadIndex): Unit = activePlayers.addOne(padIndex)
+
+	def removeActivePadFromList(padIndex: PadIndex): Unit = activePlayers = activePlayers.filter(element => element != padIndex)
 }
diff --git a/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/pad/ContentPlayerPadContent.scala b/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/pad/ContentPlayerPadContent.scala
index 6853ccb958c2b06f6184b663e0bcc4427074b820..e7bce2c14e8ce3574cf75fc9a112afa72e96d532 100644
--- a/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/pad/ContentPlayerPadContent.scala
+++ b/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/pad/ContentPlayerPadContent.scala
@@ -27,7 +27,7 @@ class ContentPlayerPadContent(val pad: Pad, val `type`: String) extends PadConte
 
 			mediaPlayer.seek(Duration.ZERO)
 
-			ContentPluginMain.playerViewController.showMediaPlayer(mediaPlayer, getSelectedZones)
+			ContentPluginMain.playerViewController.showMediaPlayer(getPad.getPadIndex, mediaPlayer, getSelectedZones)
 
 			mediaPlayer.play()
 			currentRunningIndex = mediaPlayers.indexOf(this)
@@ -89,6 +89,8 @@ class ContentPlayerPadContent(val pad: Pad, val `type`: String) extends PadConte
 		if (isPause) {
 			mediaPlayers(currentRunningIndex).resume()
 		} else {
+			ContentPluginMain.playerViewController.addActivePadToList(getPad.getPadIndex)
+
 			getPad.setEof(false)
 			mediaPlayers.head.play()
 		}
@@ -106,6 +108,8 @@ class ContentPlayerPadContent(val pad: Pad, val `type`: String) extends PadConte
 		mediaPlayers(currentRunningIndex).stop()
 		currentRunningIndex = -1
 
+		ContentPluginMain.playerViewController.removeActivePadFromList(getPad.getPadIndex)
+
 		val controller = getPad.getController
 		if (controller != null) {
 			controller.updatePlaylistLabel()
@@ -127,6 +131,8 @@ class ContentPlayerPadContent(val pad: Pad, val `type`: String) extends PadConte
 			mediaPlayers(currentRunningIndex).next()
 			return
 		}
+
+		ContentPluginMain.playerViewController.removeActivePadFromList(getPad.getPadIndex)
 	}
 
 	/*