diff --git a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/design/ModernGlobalDesignViewController.java b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/design/ModernGlobalDesignViewController.java
index 54731d2f6bca84c25a54a3814bc40f2ed5165a22..f25aa4ae6034f34fe0cae511a5f1a29854052476 100644
--- a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/design/ModernGlobalDesignViewController.java
+++ b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/design/ModernGlobalDesignViewController.java
@@ -69,6 +69,10 @@ public class ModernGlobalDesignViewController extends NVC {
 		flatDesignCheckbox.selectedProperty().addListener((a, b, c) ->
 		{
 			design.setFlatDesign(c);
+
+			// Update button preview
+			backgroundColorButton.setStyle(getLinearGradientCss(design.getBackgroundColor()));
+			playColorButton.setStyle(getLinearGradientCss(design.getPlayColor()));
 		});
 
 		infoLabelFontSizeComboBox.getItems().addAll(9, 10, 12, 13, 14, 16, 18, 20, 24, 28);
diff --git a/PlayWallCore/src/main/java/de/tobias/playpad/design/modern/ModernColor.java b/PlayWallCore/src/main/java/de/tobias/playpad/design/modern/ModernColor.java
index 3ba31f292025f2ace1ebf58c65bef44e98fd85f3..35f3a55f46218942721cbd67f205c7f342a056ee 100644
--- a/PlayWallCore/src/main/java/de/tobias/playpad/design/modern/ModernColor.java
+++ b/PlayWallCore/src/main/java/de/tobias/playpad/design/modern/ModernColor.java
@@ -1,6 +1,7 @@
 package de.tobias.playpad.design.modern;
 
 import de.tobias.playpad.DisplayableColor;
+import de.tobias.playpad.profile.Profile;
 import de.tobias.playpad.util.FadeableColor;
 import javafx.scene.paint.*;
 
@@ -106,8 +107,12 @@ public enum ModernColor implements DisplayableColor {
 
 	@Override
 	public Paint getPaint() {
-		return new LinearGradient(0, 0, 0, 1, true, CycleMethod.NO_CYCLE, new Stop(0, Color.web(colorHi)),
-				new Stop(1, Color.web(colorLow)));
+		if (Profile.currentProfile().getProfileSettings().getDesign().isFlatDesign()) {
+			return Color.web(paint());
+		} else {
+			return new LinearGradient(0, 0, 0, 1, true, CycleMethod.NO_CYCLE, new Stop(0, Color.web(colorHi)),
+					new Stop(1, Color.web(colorLow)));
+		}
 	}
 
 	public String linearGradient() {