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 90bc30425035955ac49b0833f9381792c7a1a7b4..7352e03f12819cf1a498ffcf6f7d8468a9e13cd8 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
@@ -59,7 +59,7 @@ class ContentPlayerViewController extends NVC {
 			}
 		}
 
-		def setFadeValue(mediaPlayer: MediaPlayer, value: Double): Unit ={
+		def setFadeValue(mediaPlayer: MediaPlayer, value: Double): Unit = {
 			if (mediaViews.contains(mediaPlayer)) {
 				val mediaView = mediaViews(mediaPlayer)
 				mediaView.setOpacity(value)
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 005aad995945036e872e3e3d1001944ebbbf1321..f983565469dbc78886f9b80de0f9a8b134d11963 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
@@ -87,8 +87,12 @@ class ContentPlayerPadContent(val pad: Pad, val `type`: String) extends PadConte
 	private var showingLastFrame: Boolean = false
 	private var isPause: Boolean = false
 
-	private val fadeController = new LinearFadeController(value => ContentPluginMain.playerViewController
-			.setFadeValue(mediaPlayers(currentPlayingMediaIndex).mediaPlayer, getSelectedZones, value))
+	private val fadeController = new LinearFadeController(value => {
+		if (currentPlayingMediaIndex >= 0) {
+			ContentPluginMain.playerViewController
+				.setFadeValue(mediaPlayers(currentPlayingMediaIndex).mediaPlayer, getSelectedZones, value)
+		}
+	})
 
 	override def getType: String = `type`
 
@@ -134,9 +138,13 @@ class ContentPlayerPadContent(val pad: Pad, val `type`: String) extends PadConte
 	}
 
 	def onEof(): Unit = {
+		if (isFadeActive) {
+			ContentPluginMain.playerViewController.removeActivePadFromList(getPad.getPadIndex, getSelectedZones)
+			return
+		}
+
 		if (shouldShowLastFrame() && !showingLastFrame // Only is settings is enabled and not already in last frame state
 			&& !pad.getPadSettings.isLoop // Only go to last frame state, is looping is disabled
-			&& !isFadeActive // Only go to last frame state, if no fade is active (if eof is reached while fade out, the last frame should not be hold)
 		) {
 			getPad.setStatus(PadStatus.PAUSE)
 			showingLastFrame = true
@@ -149,8 +157,6 @@ class ContentPlayerPadContent(val pad: Pad, val `type`: String) extends PadConte
 			mediaPlayers(currentPlayingMediaIndex).next()
 			return
 		}
-
-		ContentPluginMain.playerViewController.removeActivePadFromList(getPad.getPadIndex, getSelectedZones)
 	}
 
 	/*