diff --git a/PlayWallPlugins/mediaplugin/de/tobias/playpad/mediaplugin/image/ImageContent.java b/PlayWallPlugins/mediaplugin/de/tobias/playpad/mediaplugin/image/ImageContent.java
index 2aacbe894c4c1683e45cce88f0089b1ba7a26475..efbcd4dc62745d564d599e92a2ca6f3c7458d4df 100644
--- a/PlayWallPlugins/mediaplugin/de/tobias/playpad/mediaplugin/image/ImageContent.java
+++ b/PlayWallPlugins/mediaplugin/de/tobias/playpad/mediaplugin/image/ImageContent.java
@@ -44,7 +44,8 @@ public class ImageContent extends PadContent {
 	}
 
 	@Override
-	public void setMasterVolume(double masterVolume) {}
+	public void updateVolume() {
+	}
 
 	@Override
 	public String getType() {
diff --git a/PlayWallPlugins/mediaplugin/de/tobias/playpad/mediaplugin/video/VideoContent.java b/PlayWallPlugins/mediaplugin/de/tobias/playpad/mediaplugin/video/VideoContent.java
index 5e5a41d2ebe57715a5140edab8251b7447ee0df7..4fee07e792fcc177fc210bc0febab9e9e7ad8b23 100644
--- a/PlayWallPlugins/mediaplugin/de/tobias/playpad/mediaplugin/video/VideoContent.java
+++ b/PlayWallPlugins/mediaplugin/de/tobias/playpad/mediaplugin/video/VideoContent.java
@@ -14,7 +14,7 @@ import de.tobias.playpad.pad.conntent.PadContent;
 import de.tobias.playpad.pad.conntent.play.Durationable;
 import de.tobias.playpad.pad.conntent.play.Pauseable;
 import de.tobias.playpad.project.ProjectExporter;
-import de.tobias.playpad.settings.Profile;
+import de.tobias.playpad.volume.VolumeManager;
 import de.tobias.utils.util.ZipFile;
 import javafx.application.Platform;
 import javafx.beans.property.ObjectProperty;
@@ -39,7 +39,6 @@ public class VideoContent extends PadContent implements Pauseable, Durationable
 	private transient ObjectProperty<Duration> positionProperty = new SimpleObjectProperty<>();
 
 	private transient ChangeListener<Number> padVolumeListener;
-	private transient ChangeListener<Number> customVolumeListener;
 
 	private transient boolean holdLastFrame = false;
 
@@ -47,12 +46,7 @@ public class VideoContent extends PadContent implements Pauseable, Durationable
 		super(pad);
 		padVolumeListener = (a, b, c) ->
 		{
-			player.setVolume(c.doubleValue() * Profile.currentProfile().getProfileSettings().getVolume() * getPad().getCustomVolume());
-		};
-		customVolumeListener = (a, b, c) ->
-		{
-			player.setVolume(
-					getPad().getPadSettings().getVolume() * Profile.currentProfile().getProfileSettings().getVolume() * c.doubleValue());
+			updateVolume();
 		};
 	}
 
@@ -77,9 +71,11 @@ public class VideoContent extends PadContent implements Pauseable, Durationable
 	}
 
 	@Override
-	public void setMasterVolume(double masterVolume) {
+	public void updateVolume() {
 		if (player != null) {
-			player.setVolume(getPad().getPadSettings().getVolume() * masterVolume * getPad().getCustomVolume());
+			VolumeManager manager = Pad.getVolumeManager();
+			double volume = manager.computeVolume(getPad());
+			player.setVolume(volume);
 		}
 	}
 
@@ -90,7 +86,6 @@ public class VideoContent extends PadContent implements Pauseable, Durationable
 
 	@Override
 	public void play() {
-		getPad().setCustomVolume(1.0);
 		getPad().setEof(false);
 		MediaPluginImpl.getInstance().getVideoViewController().setMediaPlayer(player, getPad());
 		if (holdLastFrame) {
@@ -208,7 +203,6 @@ public class VideoContent extends PadContent implements Pauseable, Durationable
 			positionProperty.bind(player.currentTimeProperty());
 
 			getPad().getPadSettings().volumeProperty().addListener(padVolumeListener);
-			getPad().customVolumeProperty().addListener(customVolumeListener);
 		}
 	}
 
@@ -218,7 +212,6 @@ public class VideoContent extends PadContent implements Pauseable, Durationable
 		positionProperty.unbind();
 
 		getPad().getPadSettings().volumeProperty().removeListener(padVolumeListener);
-		getPad().customVolumeProperty().removeListener(customVolumeListener);
 
 		player = null;
 		media = null;