diff --git a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/PlaylistTabViewController.java b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/PlaylistTabViewController.java
index 7da0ac804136898e89f836d93aa980a655152dc1..c75ddd786265889bf41cf55c7fcb74e2c8bf5826 100644
--- a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/PlaylistTabViewController.java
+++ b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/PlaylistTabViewController.java
@@ -127,6 +127,7 @@ public class PlaylistTabViewController extends PadSettingsTabViewController {
 		final int selectedIndex = mediaPathListView.getSelectionModel().getSelectedIndex();
 		Collections.swap(pad.getPaths(), selectedIndex, selectedIndex - 1);
 		mediaPathListView.getSelectionModel().select(selectedIndex - 1);
+		pad.getContent().reorderMedia();
 	}
 
 	@FXML
@@ -134,6 +135,7 @@ public class PlaylistTabViewController extends PadSettingsTabViewController {
 		final int selectedIndex = mediaPathListView.getSelectionModel().getSelectedIndex();
 		Collections.swap(pad.getPaths(), selectedIndex, selectedIndex + 1);
 		mediaPathListView.getSelectionModel().select(selectedIndex + 1);
+		pad.getContent().reorderMedia();
 	}
 
 	@FXML
diff --git a/PlayWallCore/src/main/java/de/tobias/playpad/pad/content/PadContent.java b/PlayWallCore/src/main/java/de/tobias/playpad/pad/content/PadContent.java
index bf50a0b447c04de9dd77eadb9a9ee6834ca224bc..0431a444ab1bd409694d88b7696e751190b1fd95 100644
--- a/PlayWallCore/src/main/java/de/tobias/playpad/pad/content/PadContent.java
+++ b/PlayWallCore/src/main/java/de/tobias/playpad/pad/content/PadContent.java
@@ -64,6 +64,9 @@ public abstract class PadContent {
 	 */
 	public abstract void unloadMedia(MediaPath mediaPath);
 
+	public void reorderMedia() {
+	}
+
 	public abstract void updateVolume();
 
 	@Override
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 0893543e600b6fefdf8f4e4833737ff27faf8908..6853ccb958c2b06f6184b663e0bcc4427074b820 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
@@ -68,9 +68,11 @@ class ContentPlayerPadContent(val pad: Pad, val `type`: String) extends PadConte
 			_positionProperty.unbind()
 			_positionProperty.set(Duration.ZERO)
 		}
+
+		override def toString: String = f"MediaPlayerContainer: $path"
 	}
 
-	private val mediaPlayers: ListBuffer[MediaPlayerContainer] = ListBuffer.empty
+	private var mediaPlayers: ListBuffer[MediaPlayerContainer] = ListBuffer.empty
 	private var currentRunningIndex: Int = -1
 
 	private val _durationProperty = new SimpleObjectProperty[Duration]
@@ -219,6 +221,15 @@ class ContentPlayerPadContent(val pad: Pad, val `type`: String) extends PadConte
 		mediaPlayers.remove(index)
 	}
 
+	override def reorderMedia(): Unit = {
+		val paths = pad.getPaths
+		mediaPlayers = mediaPlayers.sortWith((o1, o2) => paths.indexOf(o1.path) < paths.indexOf(o2.path))
+	}
+
+	/*
+	 Volume
+	 */
+
 	override def updateVolume(): Unit = {
 		val volume = VolumeManager.getInstance.computeVolume(getPad)
 		mediaPlayers.foreach(player => player.mediaPlayer.setVolume(volume))