diff --git a/src/org/openstreetmap/josm/data/osm/visitor/paint/MapPaintSettings.java b/src/org/openstreetmap/josm/data/osm/visitor/paint/MapPaintSettings.java
index a5111b2b24..955695ccf1 100644
--- a/src/org/openstreetmap/josm/data/osm/visitor/paint/MapPaintSettings.java
+++ b/src/org/openstreetmap/josm/data/osm/visitor/paint/MapPaintSettings.java
@@ -71,6 +71,24 @@ public final class MapPaintSettings implements PreferenceChangedListener {
         Config.getPref().addPreferenceChangeListener(this);
     }
 
+
+    /**
+     * Creates MapPaintSettings with most neutral settings, that do not override MapCSS.
+     * Useful for MapCSS CLI/Plugin rendering, via {@link org.openstreetmap.josm.gui.mappaint.RenderingHelper}
+     * @return a new MapPaintSettings instance with neutral values.
+     */
+    public static MapPaintSettings createNeutralSettings() {
+        MapPaintSettings neutralSettings = new MapPaintSettings();
+        neutralSettings.useRealWidth = false; // Real width is not used (at least currently)
+        neutralSettings.showDirectionArrow = false; // Direction arrows are turned off
+        neutralSettings.showOnewayArrow = false; // One way arrows are disabled
+        neutralSettings.showNamesDistance = 0; // Forced labels are turned off
+        neutralSettings.showOrderNumber = false;
+        neutralSettings.showOrderNumberOnSelectedWay = false;
+        neutralSettings.outlineOnly = false;
+        return neutralSettings;
+    }
+
     private void load() {
         showDirectionArrow = Config.getPref().getBoolean("draw.segment.direction", false);
         showOnewayArrow = Config.getPref().getBoolean("draw.oneway", true);
diff --git a/src/org/openstreetmap/josm/data/osm/visitor/paint/StyledMapRenderer.java b/src/org/openstreetmap/josm/data/osm/visitor/paint/StyledMapRenderer.java
index f49eb1e332..47909742c1 100644
--- a/src/org/openstreetmap/josm/data/osm/visitor/paint/StyledMapRenderer.java
+++ b/src/org/openstreetmap/josm/data/osm/visitor/paint/StyledMapRenderer.java
@@ -382,6 +382,23 @@ public class StyledMapRenderer extends AbstractMapRenderer {
         this.styles = MapPaintStyles.getStyles();
     }
 
+    /**
+     * Constructs a new {@code StyledMapRenderer} with custom map paint settings.
+     *
+     * @param g the graphics context. Must not be null.
+     * @param nc the map viewport. Must not be null.
+     * @param isInactiveMode if true, the paint visitor shall render OSM objects such that they
+     * look inactive. Example: rendering of data in an inactive layer using light gray as color only.
+     * @param paintSettings the map paint settings to use. Must not be null.
+     * @throws IllegalArgumentException if {@code g} is null
+     * @throws IllegalArgumentException if {@code nc} is null
+     * @throws IllegalArgumentException if {@code paintSettings} is null
+     */
+    public StyledMapRenderer(Graphics2D g, NavigatableComponent nc, boolean isInactiveMode, MapPaintSettings paintSettings) {
+        this(g, nc, isInactiveMode);
+        this.paintSettings = paintSettings;
+    }
+
     /**
      * Set the {@link ElemStyles} instance to use for this renderer.
      * @param styles the {@code ElemStyles} instance to use
@@ -1410,7 +1427,9 @@ public class StyledMapRenderer extends AbstractMapRenderer {
     @Override
     public void getSettings(boolean virtual) {
         super.getSettings(virtual);
-        paintSettings = MapPaintSettings.INSTANCE;
+        if (paintSettings == null) {
+            paintSettings = MapPaintSettings.INSTANCE;
+        }
 
         circum = nc.getDist100Pixel();
         scale = nc.getScale();
diff --git a/src/org/openstreetmap/josm/gui/mappaint/RenderingHelper.java b/src/org/openstreetmap/josm/gui/mappaint/RenderingHelper.java
index 93f524a944..c8fab26cae 100644
--- a/src/org/openstreetmap/josm/gui/mappaint/RenderingHelper.java
+++ b/src/org/openstreetmap/josm/gui/mappaint/RenderingHelper.java
@@ -26,6 +26,7 @@ import org.openstreetmap.josm.data.projection.ProjectionRegistry;
 import org.openstreetmap.josm.gui.NavigatableComponent;
 import org.openstreetmap.josm.gui.mappaint.mapcss.MapCSSStyleSource;
 import org.openstreetmap.josm.gui.mappaint.styleelement.StyleElement;
+import org.openstreetmap.josm.data.osm.visitor.paint.MapPaintSettings;
 import org.openstreetmap.josm.io.IllegalDataException;
 import org.openstreetmap.josm.tools.CheckParameterUtil;
 import org.openstreetmap.josm.tools.Logging;
@@ -183,7 +184,7 @@ public class RenderingHelper {
             g.setColor(Optional.ofNullable(backgroundColor).orElse(elemStyles.getBackgroundColor()));
             g.fillRect(0, 0, imgDimPx.width, imgDimPx.height);
         }
-        StyledMapRenderer smr = new StyledMapRenderer(g, nc, false);
+        StyledMapRenderer smr = new StyledMapRenderer(g, nc, false, MapPaintSettings.createNeutralSettings());
         smr.setStyles(elemStyles);
         smr.render(ds, false, bounds);
 
