diff --git a/src/org/openstreetmap/josm/data/osm/OsmPrimitive.java b/src/org/openstreetmap/josm/data/osm/OsmPrimitive.java
index fa085ae97c..516ab0d3f8 100644
--- a/src/org/openstreetmap/josm/data/osm/OsmPrimitive.java
+++ b/src/org/openstreetmap/josm/data/osm/OsmPrimitive.java
@@ -12,6 +12,7 @@ import java.util.Locale;
 import java.util.Map;
 import java.util.Objects;
 import java.util.Set;
+import java.util.HashMap;
 import java.util.function.Consumer;
 import java.util.stream.Collectors;
 import java.util.stream.IntStream;
@@ -22,6 +23,7 @@ import org.openstreetmap.josm.data.osm.search.SearchCompiler.Match;
 import org.openstreetmap.josm.data.osm.search.SearchParseError;
 import org.openstreetmap.josm.data.osm.visitor.OsmPrimitiveVisitor;
 import org.openstreetmap.josm.data.osm.visitor.PrimitiveVisitor;
+import org.openstreetmap.josm.gui.mappaint.ElemStyles;
 import org.openstreetmap.josm.gui.mappaint.StyleCache;
 import org.openstreetmap.josm.spi.preferences.Config;
 import org.openstreetmap.josm.tools.CheckParameterUtil;
@@ -143,28 +145,33 @@ public abstract class OsmPrimitive extends AbstractPrimitive implements Template
     /*----------
      * MAPPAINT
      *--------*/
-    private StyleCache mappaintStyle;
+    private final Map<ElemStyles, StyleCache> mappaintStyle = new HashMap<>();
 
     @Override
-    public final StyleCache getCachedStyle() {
-        return mappaintStyle;
+    public final StyleCache getCachedStyle(ElemStyles elemStyles) {
+        return mappaintStyle.get(elemStyles);
     }
 
     @Override
-    public final void setCachedStyle(StyleCache mappaintStyle) {
-        this.mappaintStyle = mappaintStyle;
+    public final void setCachedStyle(ElemStyles elemStyles, StyleCache mappaintStyle) {
+        this.mappaintStyle.put(elemStyles, mappaintStyle);
     }
 
     @Override
-    public final boolean isCachedStyleUpToDate() {
-        return mappaintStyle != null && mappaintCacheIdx == dataSet.getMappaintCacheIndex();
+    public final boolean isCachedStyleUpToDate(ElemStyles elemStyles) {
+        return mappaintStyle.get(elemStyles) != null && mappaintCacheIdx == dataSet.getMappaintCacheIndex();
     }
 
     @Override
-    public final void declareCachedStyleUpToDate() {
+    public final void declareCachedStyleUpToDate(ElemStyles styles) {
         this.mappaintCacheIdx = dataSet.getMappaintCacheIndex();
     }
 
+    @Override
+    public void clearCachedStyle() {
+        this.mappaintStyle.clear();
+    }
+
     /* end of mappaint data */
 
     /*---------
diff --git a/src/org/openstreetmap/josm/data/osm/PrimitiveData.java b/src/org/openstreetmap/josm/data/osm/PrimitiveData.java
index c5c2775a60..5a34ddbdb8 100644
--- a/src/org/openstreetmap/josm/data/osm/PrimitiveData.java
+++ b/src/org/openstreetmap/josm/data/osm/PrimitiveData.java
@@ -11,6 +11,7 @@ import java.util.List;
 import java.util.Map;
 
 import org.openstreetmap.josm.data.osm.visitor.PrimitiveVisitor;
+import org.openstreetmap.josm.gui.mappaint.ElemStyles;
 import org.openstreetmap.josm.gui.mappaint.StyleCache;
 
 /**
@@ -151,22 +152,27 @@ public abstract class PrimitiveData extends AbstractPrimitive implements Seriali
     }
 
     @Override
-    public StyleCache getCachedStyle() {
+    public StyleCache getCachedStyle(ElemStyles styles) {
         return null;
     }
 
     @Override
-    public void setCachedStyle(StyleCache mappaintStyle) {
+    public void setCachedStyle(ElemStyles styles, StyleCache mappaintStyle) {
         // Override if needed
     }
 
     @Override
-    public boolean isCachedStyleUpToDate() {
+    public boolean isCachedStyleUpToDate(ElemStyles styles) {
         return false;
     }
 
     @Override
-    public void declareCachedStyleUpToDate() {
+    public void declareCachedStyleUpToDate(ElemStyles styles) {
+        // Override if needed
+    }
+
+    @Override
+    public void clearCachedStyle(){
         // Override if needed
     }
 }
diff --git a/src/org/openstreetmap/josm/data/osm/Stylable.java b/src/org/openstreetmap/josm/data/osm/Stylable.java
index 38bbdd4a31..66179a0092 100644
--- a/src/org/openstreetmap/josm/data/osm/Stylable.java
+++ b/src/org/openstreetmap/josm/data/osm/Stylable.java
@@ -1,6 +1,7 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.data.osm;
 
+import org.openstreetmap.josm.gui.mappaint.ElemStyles;
 import org.openstreetmap.josm.gui.mappaint.StyleCache;
 
 /**
@@ -13,13 +14,13 @@ public interface Stylable {
      * Returns the cached style.
      * @return the cached style
      */
-    StyleCache getCachedStyle();
+    StyleCache getCachedStyle(ElemStyles styles);
 
     /**
      * Sets the cached style.
      * @param mappaintStyle the cached style
      */
-    void setCachedStyle(StyleCache mappaintStyle);
+    void setCachedStyle(ElemStyles styles, StyleCache mappaintStyle);
 
     /**
      * Clears the cached style.
@@ -27,20 +28,18 @@ public interface Stylable {
      * get/set functions calling this implicitly is preferred, so we can have
      * transparent cache handling in the future.
      */
-    default void clearCachedStyle() {
-        setCachedStyle(null);
-    }
+    void clearCachedStyle();
 
     /**
      * Check if the cached style for this primitive is up to date.
      * @return true if the cached style for this primitive is up to date
      * @since 13420
      */
-    boolean isCachedStyleUpToDate();
+    boolean isCachedStyleUpToDate(ElemStyles styles);
 
     /**
      * Declare that the cached style for this primitive is up to date.
      * @since 13420
      */
-    void declareCachedStyleUpToDate();
+    void declareCachedStyleUpToDate(ElemStyles styles);
 }
diff --git a/src/org/openstreetmap/josm/data/vector/VectorPrimitive.java b/src/org/openstreetmap/josm/data/vector/VectorPrimitive.java
index 86af9156b5..62a0970c38 100644
--- a/src/org/openstreetmap/josm/data/vector/VectorPrimitive.java
+++ b/src/org/openstreetmap/josm/data/vector/VectorPrimitive.java
@@ -5,6 +5,7 @@ import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
+import java.util.HashMap;
 import java.util.function.Consumer;
 import java.util.stream.Collectors;
 import java.util.stream.IntStream;
@@ -13,6 +14,7 @@ import java.util.stream.Stream;
 import org.openstreetmap.josm.data.osm.AbstractPrimitive;
 import org.openstreetmap.josm.data.osm.IPrimitive;
 import org.openstreetmap.josm.data.osm.visitor.PrimitiveVisitor;
+import org.openstreetmap.josm.gui.mappaint.ElemStyles;
 import org.openstreetmap.josm.gui.mappaint.StyleCache;
 import org.openstreetmap.josm.tools.Utils;
 
@@ -24,7 +26,7 @@ import org.openstreetmap.josm.tools.Utils;
 public abstract class VectorPrimitive extends AbstractPrimitive implements DataLayer<String> {
     private VectorDataSet dataSet;
     private boolean highlighted;
-    private StyleCache mappaintStyle;
+    private final Map<ElemStyles, StyleCache> mappaintStyle = new HashMap<>();
     private final String layer;
 
     /**
@@ -77,25 +79,29 @@ public abstract class VectorPrimitive extends AbstractPrimitive implements DataL
      *--------*/
 
     @Override
-    public final StyleCache getCachedStyle() {
-        return mappaintStyle;
+    public final StyleCache getCachedStyle(ElemStyles elemStyles) {
+        return mappaintStyle.get(elemStyles);
     }
 
     @Override
-    public final void setCachedStyle(StyleCache mappaintStyle) {
-        this.mappaintStyle = mappaintStyle;
+    public final void setCachedStyle(ElemStyles elemStyles, StyleCache mappaintStyle) {
+        this.mappaintStyle.put(elemStyles, mappaintStyle);
     }
 
     @Override
-    public final boolean isCachedStyleUpToDate() {
-        return mappaintStyle != null && mappaintCacheIdx == dataSet.getMappaintCacheIndex();
+    public final boolean isCachedStyleUpToDate(ElemStyles elemStyles) {
+        return mappaintStyle.get(elemStyles) != null && mappaintCacheIdx == dataSet.getMappaintCacheIndex();
     }
 
     @Override
-    public final void declareCachedStyleUpToDate() {
+    public final void declareCachedStyleUpToDate(ElemStyles elemStyles) {
         this.mappaintCacheIdx = dataSet.getMappaintCacheIndex();
     }
 
+    public void clearCachedStyle() {
+        this.mappaintStyle.clear();
+    }
+
     @Override
     public boolean hasDirectionKeys() {
         return false;
diff --git a/src/org/openstreetmap/josm/gui/dialogs/InspectPrimitiveDialog.java b/src/org/openstreetmap/josm/gui/dialogs/InspectPrimitiveDialog.java
index c5d417df1e..24bd541add 100644
--- a/src/org/openstreetmap/josm/gui/dialogs/InspectPrimitiveDialog.java
+++ b/src/org/openstreetmap/josm/gui/dialogs/InspectPrimitiveDialog.java
@@ -163,8 +163,8 @@ public class InspectPrimitiveDialog extends ExtendedDialog {
         }
         if (sel.size() == 2) {
             List<IPrimitive> selList = new ArrayList<>(sel);
-            StyleCache sc1 = selList.get(0).getCachedStyle();
-            StyleCache sc2 = selList.get(1).getCachedStyle();
+            StyleCache sc1 = selList.get(0).getCachedStyle(elemstyles);
+            StyleCache sc2 = selList.get(1).getCachedStyle(elemstyles);
             if (sc1 == sc2) {
                 txtMappaint.println(tr("The 2 selected objects have identical style caches."));
             }
diff --git a/src/org/openstreetmap/josm/gui/mappaint/ElemStyles.java b/src/org/openstreetmap/josm/gui/mappaint/ElemStyles.java
index 83269f84fb..3a56a779bb 100644
--- a/src/org/openstreetmap/josm/gui/mappaint/ElemStyles.java
+++ b/src/org/openstreetmap/josm/gui/mappaint/ElemStyles.java
@@ -163,10 +163,10 @@ public class ElemStyles implements PreferenceChangedListener {
      */
     public Pair<StyleElementList, Range> getStyleCacheWithRange(IPrimitive osm, double scale, NavigatableComponent nc) {
         synchronized (osm.getStyleCacheSyncObject()) {
-            if (!osm.isCachedStyleUpToDate() || scale <= 0) {
-                osm.setCachedStyle(StyleCache.EMPTY_STYLECACHE);
+            if (!osm.isCachedStyleUpToDate(this) || scale <= 0) {
+                osm.setCachedStyle(this, StyleCache.EMPTY_STYLECACHE);
             } else {
-                Pair<StyleElementList, Range> lst = osm.getCachedStyle().getWithRange(scale, osm.isSelected());
+                Pair<StyleElementList, Range> lst = osm.getCachedStyle(this).getWithRange(scale, osm.isSelected());
                 if (lst.a != null)
                     return lst;
             }
@@ -216,15 +216,15 @@ public class ElemStyles implements PreferenceChangedListener {
                     p.a = new StyleElementList(p.a, line);
                 }
             }
-            StyleCache style = osm.getCachedStyle() != null ? osm.getCachedStyle() : StyleCache.EMPTY_STYLECACHE;
+            StyleCache style = osm.getCachedStyle(this) != null ? osm.getCachedStyle(this) : StyleCache.EMPTY_STYLECACHE;
             try {
-                osm.setCachedStyle(style.put(p.a, p.b, osm.isSelected()));
+                osm.setCachedStyle(this, style.put(p.a, p.b, osm.isSelected()));
             } catch (RangeViolatedError e) {
                 throw new AssertionError("Range violated: " + e.getMessage()
-                  + " (object: " + osm.getPrimitiveId() + ", current style: " + osm.getCachedStyle()
+                  + " (object: " + osm.getPrimitiveId() + ", current style: " + osm.getCachedStyle(this)
                   + ", scale: " + scale + ", new stylelist: " + p.a + ", new range: " + p.b + ')', e);
             }
-            osm.declareCachedStyleUpToDate();
+            osm.declareCachedStyleUpToDate(this);
             return p;
         }
     }
diff --git a/test/functional/org/openstreetmap/josm/gui/mappaint/StyleCacheTest.java b/test/functional/org/openstreetmap/josm/gui/mappaint/StyleCacheTest.java
index 745bac76f4..8177c7b25e 100644
--- a/test/functional/org/openstreetmap/josm/gui/mappaint/StyleCacheTest.java
+++ b/test/functional/org/openstreetmap/josm/gui/mappaint/StyleCacheTest.java
@@ -153,14 +153,15 @@ class StyleCacheTest {
         Rendering visitor = new StyledMapRenderer(g, nc, false);
         nc.zoomTo(bounds);
         visitor.render(dsCity2, true, bounds);
+        ElemStyles elemStyles = MapPaintStyles.getStyles();
 
         IdentityHashMap<StyleElementList, Integer> counter = new IdentityHashMap<>();
         int noPrimitives = 0;
         for (OsmPrimitive osm : dsCity2.allPrimitives()) {
             // primitives, that have been rendered, should have the cache populated
-            if (osm.getCachedStyle() != null) {
+            if (osm.getCachedStyle(elemStyles) != null) {
                 noPrimitives++;
-                Pair<StyleElementList, Range> p = osm.getCachedStyle().getWithRange(nc.getDist100Pixel(), false);
+                Pair<StyleElementList, Range> p = osm.getCachedStyle(elemStyles).getWithRange(nc.getDist100Pixel(), false);
                 StyleElementList sel = p.a;
                 assertNotNull(sel);
                 counter.merge(sel, 1, Integer::sum);
diff --git a/test/unit/org/openstreetmap/josm/command/AddPrimitivesCommandTest.java b/test/unit/org/openstreetmap/josm/command/AddPrimitivesCommandTest.java
index 7ea4e45537..ee0f43fb06 100644
--- a/test/unit/org/openstreetmap/josm/command/AddPrimitivesCommandTest.java
+++ b/test/unit/org/openstreetmap/josm/command/AddPrimitivesCommandTest.java
@@ -23,6 +23,7 @@ import org.openstreetmap.josm.data.osm.User;
 import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.data.osm.WayData;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+import org.openstreetmap.josm.gui.mappaint.ElemStyles;
 import org.openstreetmap.josm.testutils.annotations.BasicPreferences;
 import org.openstreetmap.josm.testutils.annotations.I18n;
 
@@ -366,6 +367,8 @@ class AddPrimitivesCommandTest {
                     User.createOsmUser(1, "foo"), User.createOsmUser(2, "bar"))
             .withPrefabValues(OsmDataLayer.class,
                 new OsmDataLayer(new DataSet(), "1", null), new OsmDataLayer(new DataSet(), "2", null))
+            .withPrefabValues(ElemStyles.class,
+                new ElemStyles(), new ElemStyles())
             .suppress(Warning.NONFINAL_FIELDS)
             .verify();
     }
diff --git a/test/unit/org/openstreetmap/josm/command/ChangeMembersCommandTest.java b/test/unit/org/openstreetmap/josm/command/ChangeMembersCommandTest.java
index 672fa6b5c0..be942391f2 100644
--- a/test/unit/org/openstreetmap/josm/command/ChangeMembersCommandTest.java
+++ b/test/unit/org/openstreetmap/josm/command/ChangeMembersCommandTest.java
@@ -15,6 +15,7 @@ import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.RelationMember;
 import org.openstreetmap.josm.data.osm.User;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+import org.openstreetmap.josm.gui.mappaint.ElemStyles;
 import org.openstreetmap.josm.testutils.annotations.BasicPreferences;
 import org.openstreetmap.josm.testutils.annotations.I18n;
 
@@ -102,6 +103,8 @@ class ChangeMembersCommandTest {
                 new Node(1), new Node(2))
             .withPrefabValues(OsmDataLayer.class,
                 new OsmDataLayer(new DataSet(), "1", null), new OsmDataLayer(new DataSet(), "2", null))
+            .withPrefabValues(ElemStyles.class,
+                new ElemStyles(), new ElemStyles())
             .suppress(Warning.NONFINAL_FIELDS)
             .verify();
     }
diff --git a/test/unit/org/openstreetmap/josm/command/ChangeNodesCommandTest.java b/test/unit/org/openstreetmap/josm/command/ChangeNodesCommandTest.java
index 673ef37792..64fc0c9b82 100644
--- a/test/unit/org/openstreetmap/josm/command/ChangeNodesCommandTest.java
+++ b/test/unit/org/openstreetmap/josm/command/ChangeNodesCommandTest.java
@@ -21,6 +21,7 @@ import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.User;
 import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+import org.openstreetmap.josm.gui.mappaint.ElemStyles;
 import org.openstreetmap.josm.testutils.annotations.BasicPreferences;
 import org.openstreetmap.josm.testutils.annotations.I18n;
 
@@ -131,6 +132,8 @@ class ChangeNodesCommandTest {
                     User.createOsmUser(1, "foo"), User.createOsmUser(2, "bar"))
             .withPrefabValues(OsmDataLayer.class,
                     new OsmDataLayer(new DataSet(), "1", null), new OsmDataLayer(new DataSet(), "2", null))
+            .withPrefabValues(ElemStyles.class,
+                    new ElemStyles(), new ElemStyles())
             .suppress(Warning.NONFINAL_FIELDS)
             .verify();
     }
diff --git a/test/unit/org/openstreetmap/josm/command/ChangePropertyCommandTest.java b/test/unit/org/openstreetmap/josm/command/ChangePropertyCommandTest.java
index a9eabd7949..1809099875 100644
--- a/test/unit/org/openstreetmap/josm/command/ChangePropertyCommandTest.java
+++ b/test/unit/org/openstreetmap/josm/command/ChangePropertyCommandTest.java
@@ -23,6 +23,7 @@ import org.openstreetmap.josm.data.osm.TagMap;
 import org.openstreetmap.josm.data.osm.User;
 import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+import org.openstreetmap.josm.gui.mappaint.ElemStyles;
 import org.openstreetmap.josm.testutils.annotations.BasicPreferences;
 import org.openstreetmap.josm.testutils.annotations.I18n;
 
@@ -281,6 +282,8 @@ class ChangePropertyCommandTest {
                     User.createOsmUser(1, "foo"), User.createOsmUser(2, "bar"))
             .withPrefabValues(OsmDataLayer.class,
                 new OsmDataLayer(new DataSet(), "1", null), new OsmDataLayer(new DataSet(), "2", null))
+            .withPrefabValues(ElemStyles.class,
+                new ElemStyles(), new ElemStyles())
             .suppress(Warning.NONFINAL_FIELDS)
             .verify();
     }
diff --git a/test/unit/org/openstreetmap/josm/command/ChangePropertyKeyCommandTest.java b/test/unit/org/openstreetmap/josm/command/ChangePropertyKeyCommandTest.java
index 876fc20318..84a078420d 100644
--- a/test/unit/org/openstreetmap/josm/command/ChangePropertyKeyCommandTest.java
+++ b/test/unit/org/openstreetmap/josm/command/ChangePropertyKeyCommandTest.java
@@ -17,6 +17,7 @@ import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.User;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+import org.openstreetmap.josm.gui.mappaint.ElemStyles;
 import org.openstreetmap.josm.testutils.annotations.BasicPreferences;
 import org.openstreetmap.josm.testutils.annotations.I18n;
 
@@ -152,6 +153,8 @@ class ChangePropertyKeyCommandTest {
                     User.createOsmUser(1, "foo"), User.createOsmUser(2, "bar"))
             .withPrefabValues(OsmDataLayer.class,
                 new OsmDataLayer(new DataSet(), "1", null), new OsmDataLayer(new DataSet(), "2", null))
+            .withPrefabValues(ElemStyles.class,
+                new ElemStyles(), new ElemStyles())
             .suppress(Warning.NONFINAL_FIELDS)
             .verify();
     }
diff --git a/test/unit/org/openstreetmap/josm/command/ChangeRelationMemberRoleCommandTest.java b/test/unit/org/openstreetmap/josm/command/ChangeRelationMemberRoleCommandTest.java
index 80a7921537..37cf1c3ed9 100644
--- a/test/unit/org/openstreetmap/josm/command/ChangeRelationMemberRoleCommandTest.java
+++ b/test/unit/org/openstreetmap/josm/command/ChangeRelationMemberRoleCommandTest.java
@@ -16,6 +16,7 @@ import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.Relation;
 import org.openstreetmap.josm.data.osm.User;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+import org.openstreetmap.josm.gui.mappaint.ElemStyles;
 import org.openstreetmap.josm.testutils.annotations.BasicPreferences;
 import org.openstreetmap.josm.testutils.annotations.I18n;
 
@@ -151,6 +152,8 @@ class ChangeRelationMemberRoleCommandTest {
                     User.createOsmUser(1, "foo"), User.createOsmUser(2, "bar"))
             .withPrefabValues(OsmDataLayer.class,
                 new OsmDataLayer(new DataSet(), "1", null), new OsmDataLayer(new DataSet(), "2", null))
+            .withPrefabValues(ElemStyles.class,
+                new ElemStyles(), new ElemStyles())
             .suppress(Warning.NONFINAL_FIELDS)
             .verify();
     }
diff --git a/test/unit/org/openstreetmap/josm/command/CommandTest.java b/test/unit/org/openstreetmap/josm/command/CommandTest.java
index 7c166fee99..49f4a9a861 100644
--- a/test/unit/org/openstreetmap/josm/command/CommandTest.java
+++ b/test/unit/org/openstreetmap/josm/command/CommandTest.java
@@ -14,6 +14,7 @@ import org.openstreetmap.josm.data.osm.User;
 import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+import org.openstreetmap.josm.gui.mappaint.ElemStyles;
 import org.openstreetmap.josm.testutils.annotations.BasicPreferences;
 import org.openstreetmap.josm.testutils.annotations.I18n;
 
@@ -40,6 +41,8 @@ public class CommandTest {
                     User.createOsmUser(1, "foo"), User.createOsmUser(2, "bar"))
             .withPrefabValues(OsmDataLayer.class,
                 new OsmDataLayer(new DataSet(), "1", null), new OsmDataLayer(new DataSet(), "2", null))
+            .withPrefabValues(ElemStyles.class,
+                new ElemStyles(), new ElemStyles())
             .suppress(Warning.NONFINAL_FIELDS)
             .verify();
     }
diff --git a/test/unit/org/openstreetmap/josm/command/DeleteCommandTest.java b/test/unit/org/openstreetmap/josm/command/DeleteCommandTest.java
index 02e541e7a5..67907b5097 100644
--- a/test/unit/org/openstreetmap/josm/command/DeleteCommandTest.java
+++ b/test/unit/org/openstreetmap/josm/command/DeleteCommandTest.java
@@ -23,6 +23,7 @@ import org.openstreetmap.josm.data.osm.User;
 import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.data.osm.WaySegment;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+import org.openstreetmap.josm.gui.mappaint.ElemStyles;
 import org.openstreetmap.josm.testutils.annotations.BasicPreferences;
 import org.openstreetmap.josm.testutils.annotations.I18n;
 
@@ -382,6 +383,8 @@ class DeleteCommandTest {
                     User.createOsmUser(1, "foo"), User.createOsmUser(2, "bar"))
             .withPrefabValues(OsmDataLayer.class,
                 new OsmDataLayer(new DataSet(), "1", null), new OsmDataLayer(new DataSet(), "2", null))
+            .withPrefabValues(ElemStyles.class,
+                new ElemStyles(), new ElemStyles())
             .suppress(Warning.NONFINAL_FIELDS)
             .verify();
     }
diff --git a/test/unit/org/openstreetmap/josm/command/MoveCommandTest.java b/test/unit/org/openstreetmap/josm/command/MoveCommandTest.java
index 2097e329af..eff2aa6e56 100644
--- a/test/unit/org/openstreetmap/josm/command/MoveCommandTest.java
+++ b/test/unit/org/openstreetmap/josm/command/MoveCommandTest.java
@@ -23,6 +23,7 @@ import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.User;
 import org.openstreetmap.josm.data.projection.ProjectionRegistry;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+import org.openstreetmap.josm.gui.mappaint.ElemStyles;
 import org.openstreetmap.josm.testutils.annotations.BasicPreferences;
 import org.openstreetmap.josm.testutils.annotations.I18n;
 import org.openstreetmap.josm.testutils.annotations.Projection;
@@ -268,6 +269,8 @@ class MoveCommandTest {
                     User.createOsmUser(1, "foo"), User.createOsmUser(2, "bar"))
             .withPrefabValues(OsmDataLayer.class,
                 new OsmDataLayer(new DataSet(), "1", null), new OsmDataLayer(new DataSet(), "2", null))
+            .withPrefabValues(ElemStyles.class,
+                new ElemStyles(), new ElemStyles())
             .suppress(Warning.NONFINAL_FIELDS)
             .verify();
     }
diff --git a/test/unit/org/openstreetmap/josm/command/PurgeCommandTest.java b/test/unit/org/openstreetmap/josm/command/PurgeCommandTest.java
index 2d65a63682..de8532c64c 100644
--- a/test/unit/org/openstreetmap/josm/command/PurgeCommandTest.java
+++ b/test/unit/org/openstreetmap/josm/command/PurgeCommandTest.java
@@ -24,6 +24,7 @@ import org.openstreetmap.josm.data.osm.RelationMember;
 import org.openstreetmap.josm.data.osm.Storage;
 import org.openstreetmap.josm.data.osm.User;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+import org.openstreetmap.josm.gui.mappaint.ElemStyles;
 import org.openstreetmap.josm.testutils.annotations.BasicPreferences;
 
 import nl.jqno.equalsverifier.EqualsVerifier;
@@ -150,6 +151,8 @@ class PurgeCommandTest {
                     new Conflict<>(new Node(1, 1), new Node(3, 1)))
             .withPrefabValues(OsmDataLayer.class,
                 new OsmDataLayer(new DataSet(), "1", null), new OsmDataLayer(new DataSet(), "2", null))
+            .withPrefabValues(ElemStyles.class,
+                new ElemStyles(), new ElemStyles())
             .withPrefabValues(Hash.class,
                 Storage.<OsmPrimitive>defaultHash(), Storage.<OsmPrimitive>defaultHash())
             .suppress(Warning.NONFINAL_FIELDS)
diff --git a/test/unit/org/openstreetmap/josm/command/RemoveNodesCommandTest.java b/test/unit/org/openstreetmap/josm/command/RemoveNodesCommandTest.java
index 4dacadcbe0..5e19b34cde 100644
--- a/test/unit/org/openstreetmap/josm/command/RemoveNodesCommandTest.java
+++ b/test/unit/org/openstreetmap/josm/command/RemoveNodesCommandTest.java
@@ -15,6 +15,7 @@ import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.User;
 import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+import org.openstreetmap.josm.gui.mappaint.ElemStyles;
 import org.openstreetmap.josm.testutils.annotations.BasicPreferences;
 
 import nl.jqno.equalsverifier.EqualsVerifier;
@@ -126,6 +127,8 @@ class RemoveNodesCommandTest {
                     User.createOsmUser(1, "foo"), User.createOsmUser(2, "bar"))
             .withPrefabValues(OsmDataLayer.class,
                     new OsmDataLayer(new DataSet(), "1", null), new OsmDataLayer(new DataSet(), "2", null))
+            .withPrefabValues(ElemStyles.class,
+                    new ElemStyles(), new ElemStyles())
             .suppress(Warning.NONFINAL_FIELDS)
             .verify();
     }
diff --git a/test/unit/org/openstreetmap/josm/command/RotateCommandTest.java b/test/unit/org/openstreetmap/josm/command/RotateCommandTest.java
index 445f33717d..6189700a97 100644
--- a/test/unit/org/openstreetmap/josm/command/RotateCommandTest.java
+++ b/test/unit/org/openstreetmap/josm/command/RotateCommandTest.java
@@ -19,6 +19,7 @@ import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.User;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+import org.openstreetmap.josm.gui.mappaint.ElemStyles;
 import org.openstreetmap.josm.testutils.annotations.BasicPreferences;
 import org.openstreetmap.josm.testutils.annotations.Projection;
 
@@ -138,6 +139,8 @@ class RotateCommandTest {
                 .withPrefabValues(User.class, User.createOsmUser(1, "foo"), User.createOsmUser(2, "bar"))
                 .withPrefabValues(OsmDataLayer.class, new OsmDataLayer(new DataSet(), "1", null),
                         new OsmDataLayer(new DataSet(), "2", null))
+                .withPrefabValues(ElemStyles.class,
+                        new ElemStyles(), new ElemStyles())
                 .suppress(Warning.NONFINAL_FIELDS).verify();
     }
 }
diff --git a/test/unit/org/openstreetmap/josm/command/ScaleCommandTest.java b/test/unit/org/openstreetmap/josm/command/ScaleCommandTest.java
index eff1559a15..5784b6a85f 100644
--- a/test/unit/org/openstreetmap/josm/command/ScaleCommandTest.java
+++ b/test/unit/org/openstreetmap/josm/command/ScaleCommandTest.java
@@ -19,6 +19,7 @@ import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.User;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+import org.openstreetmap.josm.gui.mappaint.ElemStyles;
 import org.openstreetmap.josm.testutils.annotations.BasicPreferences;
 import org.openstreetmap.josm.testutils.annotations.Projection;
 
@@ -141,6 +142,8 @@ class ScaleCommandTest {
                     User.createOsmUser(1, "foo"), User.createOsmUser(2, "bar"))
             .withPrefabValues(OsmDataLayer.class,
                 new OsmDataLayer(new DataSet(), "1", null), new OsmDataLayer(new DataSet(), "2", null))
+            .withPrefabValues(ElemStyles.class,
+                new ElemStyles(), new ElemStyles())
             .suppress(Warning.NONFINAL_FIELDS)
             .verify();
     }
diff --git a/test/unit/org/openstreetmap/josm/command/SelectCommandTest.java b/test/unit/org/openstreetmap/josm/command/SelectCommandTest.java
index c61e85892e..b29f12cc79 100644
--- a/test/unit/org/openstreetmap/josm/command/SelectCommandTest.java
+++ b/test/unit/org/openstreetmap/josm/command/SelectCommandTest.java
@@ -16,6 +16,7 @@ import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.User;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+import org.openstreetmap.josm.gui.mappaint.ElemStyles;
 import org.openstreetmap.josm.testutils.annotations.BasicPreferences;
 
 import nl.jqno.equalsverifier.EqualsVerifier;
@@ -151,6 +152,8 @@ class SelectCommandTest {
                     User.createOsmUser(1, "foo"), User.createOsmUser(2, "bar"))
             .withPrefabValues(OsmDataLayer.class,
                 new OsmDataLayer(new DataSet(), "1", null), new OsmDataLayer(new DataSet(), "2", null))
+            .withPrefabValues(ElemStyles.class,
+                new ElemStyles(), new ElemStyles())
             .suppress(Warning.NONFINAL_FIELDS)
             .verify();
     }
diff --git a/test/unit/org/openstreetmap/josm/command/SequenceCommandTest.java b/test/unit/org/openstreetmap/josm/command/SequenceCommandTest.java
index 71b7941ffa..d1a37f1571 100644
--- a/test/unit/org/openstreetmap/josm/command/SequenceCommandTest.java
+++ b/test/unit/org/openstreetmap/josm/command/SequenceCommandTest.java
@@ -25,6 +25,7 @@ import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.User;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+import org.openstreetmap.josm.gui.mappaint.ElemStyles;
 import org.openstreetmap.josm.testutils.annotations.BasicPreferences;
 import org.openstreetmap.josm.tools.bugreport.ReportedException;
 
@@ -223,6 +224,8 @@ class SequenceCommandTest {
                     User.createOsmUser(1, "foo"), User.createOsmUser(2, "bar"))
             .withPrefabValues(OsmDataLayer.class,
                     new OsmDataLayer(new DataSet(), "1", null), new OsmDataLayer(new DataSet(), "2", null))
+            .withPrefabValues(ElemStyles.class,
+                    new ElemStyles(), new ElemStyles())
             .suppress(Warning.NONFINAL_FIELDS)
             .verify();
     }
diff --git a/test/unit/org/openstreetmap/josm/command/TransformNodesCommandTest.java b/test/unit/org/openstreetmap/josm/command/TransformNodesCommandTest.java
index b7211958e7..912cb10b15 100644
--- a/test/unit/org/openstreetmap/josm/command/TransformNodesCommandTest.java
+++ b/test/unit/org/openstreetmap/josm/command/TransformNodesCommandTest.java
@@ -10,6 +10,7 @@ import org.openstreetmap.josm.gui.layer.OsmDataLayer;
 
 import nl.jqno.equalsverifier.EqualsVerifier;
 import nl.jqno.equalsverifier.Warning;
+import org.openstreetmap.josm.gui.mappaint.ElemStyles;
 
 /**
  * Unit tests of {@link TransformNodesCommand} class.
@@ -30,6 +31,8 @@ class TransformNodesCommandTest {
                     User.createOsmUser(1, "foo"), User.createOsmUser(2, "bar"))
             .withPrefabValues(OsmDataLayer.class,
                 new OsmDataLayer(new DataSet(), "1", null), new OsmDataLayer(new DataSet(), "2", null))
+            .withPrefabValues(ElemStyles.class,
+                new ElemStyles(), new ElemStyles())
             .suppress(Warning.NONFINAL_FIELDS)
             .verify();
     }
diff --git a/test/unit/org/openstreetmap/josm/command/conflict/ConflictAddCommandTest.java b/test/unit/org/openstreetmap/josm/command/conflict/ConflictAddCommandTest.java
index 8caa468de4..58e1d30e21 100644
--- a/test/unit/org/openstreetmap/josm/command/conflict/ConflictAddCommandTest.java
+++ b/test/unit/org/openstreetmap/josm/command/conflict/ConflictAddCommandTest.java
@@ -18,6 +18,7 @@ import org.openstreetmap.josm.gui.layer.OsmDataLayer;
 
 import nl.jqno.equalsverifier.EqualsVerifier;
 import nl.jqno.equalsverifier.Warning;
+import org.openstreetmap.josm.gui.mappaint.ElemStyles;
 
 /**
  * Unit tests of {@link ConflictAddCommand} class.
@@ -73,6 +74,8 @@ class ConflictAddCommandTest {
                     new Conflict<>(new Node(), new Node()), new Conflict<>(new Way(), new Way()))
             .withPrefabValues(OsmDataLayer.class,
                     new OsmDataLayer(new DataSet(), "1", null), new OsmDataLayer(new DataSet(), "2", null))
+            .withPrefabValues(ElemStyles.class,
+                    new ElemStyles(), new ElemStyles())
             .suppress(Warning.NONFINAL_FIELDS)
             .verify();
     }
diff --git a/test/unit/org/openstreetmap/josm/command/conflict/ConflictResolveCommandTest.java b/test/unit/org/openstreetmap/josm/command/conflict/ConflictResolveCommandTest.java
index 51c3caaa1e..a8c9e35926 100644
--- a/test/unit/org/openstreetmap/josm/command/conflict/ConflictResolveCommandTest.java
+++ b/test/unit/org/openstreetmap/josm/command/conflict/ConflictResolveCommandTest.java
@@ -11,6 +11,7 @@ import org.openstreetmap.josm.gui.layer.OsmDataLayer;
 
 import nl.jqno.equalsverifier.EqualsVerifier;
 import nl.jqno.equalsverifier.Warning;
+import org.openstreetmap.josm.gui.mappaint.ElemStyles;
 
 /**
  * Unit tests of {@link ConflictResolveCommand} class.
@@ -32,6 +33,8 @@ class ConflictResolveCommandTest {
                     User.createOsmUser(1, "foo"), User.createOsmUser(2, "bar"))
             .withPrefabValues(OsmDataLayer.class,
                     new OsmDataLayer(new DataSet(), "1", null), new OsmDataLayer(new DataSet(), "2", null))
+            .withPrefabValues(ElemStyles.class,
+                    new ElemStyles(), new ElemStyles())
             .suppress(Warning.NONFINAL_FIELDS)
             .verify();
     }
diff --git a/test/unit/org/openstreetmap/josm/command/conflict/CoordinateConflictResolveCommandTest.java b/test/unit/org/openstreetmap/josm/command/conflict/CoordinateConflictResolveCommandTest.java
index dedbb28180..d010c9867a 100644
--- a/test/unit/org/openstreetmap/josm/command/conflict/CoordinateConflictResolveCommandTest.java
+++ b/test/unit/org/openstreetmap/josm/command/conflict/CoordinateConflictResolveCommandTest.java
@@ -20,6 +20,7 @@ import org.openstreetmap.josm.gui.layer.OsmDataLayer;
 
 import nl.jqno.equalsverifier.EqualsVerifier;
 import nl.jqno.equalsverifier.Warning;
+import org.openstreetmap.josm.gui.mappaint.ElemStyles;
 
 /**
  * Unit tests of {@link CoordinateConflictResolveCommand} class.
@@ -90,6 +91,8 @@ class CoordinateConflictResolveCommandTest {
                     User.createOsmUser(1, "foo"), User.createOsmUser(2, "bar"))
             .withPrefabValues(OsmDataLayer.class,
                     new OsmDataLayer(new DataSet(), "1", null), new OsmDataLayer(new DataSet(), "2", null))
+            .withPrefabValues(ElemStyles.class,
+                    new ElemStyles(), new ElemStyles())
             .suppress(Warning.NONFINAL_FIELDS)
             .verify();
     }
diff --git a/test/unit/org/openstreetmap/josm/command/conflict/DeletedStateConflictResolveCommandTest.java b/test/unit/org/openstreetmap/josm/command/conflict/DeletedStateConflictResolveCommandTest.java
index cb44246e68..95c001a5b4 100644
--- a/test/unit/org/openstreetmap/josm/command/conflict/DeletedStateConflictResolveCommandTest.java
+++ b/test/unit/org/openstreetmap/josm/command/conflict/DeletedStateConflictResolveCommandTest.java
@@ -9,6 +9,7 @@ import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.User;
 import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+import org.openstreetmap.josm.gui.mappaint.ElemStyles;
 import org.openstreetmap.josm.testutils.annotations.MapPaintStyles;
 
 import nl.jqno.equalsverifier.EqualsVerifier;
@@ -34,6 +35,8 @@ class DeletedStateConflictResolveCommandTest {
                     User.createOsmUser(1, "foo"), User.createOsmUser(2, "bar"))
             .withPrefabValues(OsmDataLayer.class,
                     new OsmDataLayer(new DataSet(), "1", null), new OsmDataLayer(new DataSet(), "2", null))
+            .withPrefabValues(ElemStyles.class,
+                    new ElemStyles(), new ElemStyles())
             .suppress(Warning.NONFINAL_FIELDS)
             .verify();
     }
diff --git a/test/unit/org/openstreetmap/josm/command/conflict/ModifiedConflictResolveCommandTest.java b/test/unit/org/openstreetmap/josm/command/conflict/ModifiedConflictResolveCommandTest.java
index 0f58740f0a..37de778150 100644
--- a/test/unit/org/openstreetmap/josm/command/conflict/ModifiedConflictResolveCommandTest.java
+++ b/test/unit/org/openstreetmap/josm/command/conflict/ModifiedConflictResolveCommandTest.java
@@ -9,6 +9,7 @@ import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.User;
 import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+import org.openstreetmap.josm.gui.mappaint.ElemStyles;
 import org.openstreetmap.josm.testutils.annotations.MapPaintStyles;
 
 import nl.jqno.equalsverifier.EqualsVerifier;
@@ -34,6 +35,8 @@ class ModifiedConflictResolveCommandTest {
                     User.createOsmUser(1, "foo"), User.createOsmUser(2, "bar"))
             .withPrefabValues(OsmDataLayer.class,
                     new OsmDataLayer(new DataSet(), "1", null), new OsmDataLayer(new DataSet(), "2", null))
+            .withPrefabValues(ElemStyles.class,
+                    new ElemStyles(), new ElemStyles())
             .suppress(Warning.NONFINAL_FIELDS)
             .verify();
     }
diff --git a/test/unit/org/openstreetmap/josm/command/conflict/RelationMemberConflictResolverCommandTest.java b/test/unit/org/openstreetmap/josm/command/conflict/RelationMemberConflictResolverCommandTest.java
index 18e6266aaf..db5a1fa3b2 100644
--- a/test/unit/org/openstreetmap/josm/command/conflict/RelationMemberConflictResolverCommandTest.java
+++ b/test/unit/org/openstreetmap/josm/command/conflict/RelationMemberConflictResolverCommandTest.java
@@ -9,6 +9,7 @@ import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.Relation;
 import org.openstreetmap.josm.data.osm.User;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+import org.openstreetmap.josm.gui.mappaint.ElemStyles;
 import org.openstreetmap.josm.testutils.annotations.MapPaintStyles;
 
 import nl.jqno.equalsverifier.EqualsVerifier;
@@ -36,6 +37,8 @@ class RelationMemberConflictResolverCommandTest {
                     User.createOsmUser(1, "foo"), User.createOsmUser(2, "bar"))
             .withPrefabValues(OsmDataLayer.class,
                     new OsmDataLayer(new DataSet(), "1", null), new OsmDataLayer(new DataSet(), "2", null))
+            .withPrefabValues(ElemStyles.class,
+                    new ElemStyles(), new ElemStyles())
             .suppress(Warning.NONFINAL_FIELDS)
             .verify();
     }
diff --git a/test/unit/org/openstreetmap/josm/command/conflict/TagConflictResolveCommandTest.java b/test/unit/org/openstreetmap/josm/command/conflict/TagConflictResolveCommandTest.java
index 2445caf4c1..42dfc4928f 100644
--- a/test/unit/org/openstreetmap/josm/command/conflict/TagConflictResolveCommandTest.java
+++ b/test/unit/org/openstreetmap/josm/command/conflict/TagConflictResolveCommandTest.java
@@ -9,6 +9,7 @@ import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.User;
 import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+import org.openstreetmap.josm.gui.mappaint.ElemStyles;
 import org.openstreetmap.josm.testutils.annotations.MapPaintStyles;
 
 import nl.jqno.equalsverifier.EqualsVerifier;
@@ -34,6 +35,8 @@ class TagConflictResolveCommandTest {
                     User.createOsmUser(1, "foo"), User.createOsmUser(2, "bar"))
             .withPrefabValues(OsmDataLayer.class,
                     new OsmDataLayer(new DataSet(), "1", null), new OsmDataLayer(new DataSet(), "2", null))
+            .withPrefabValues(ElemStyles.class,
+                    new ElemStyles(), new ElemStyles())
             .suppress(Warning.NONFINAL_FIELDS)
             .verify();
     }
diff --git a/test/unit/org/openstreetmap/josm/command/conflict/VersionConflictResolveCommandTest.java b/test/unit/org/openstreetmap/josm/command/conflict/VersionConflictResolveCommandTest.java
index e30b948e83..a21f4e8732 100644
--- a/test/unit/org/openstreetmap/josm/command/conflict/VersionConflictResolveCommandTest.java
+++ b/test/unit/org/openstreetmap/josm/command/conflict/VersionConflictResolveCommandTest.java
@@ -9,6 +9,7 @@ import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.User;
 import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+import org.openstreetmap.josm.gui.mappaint.ElemStyles;
 import org.openstreetmap.josm.testutils.annotations.MapPaintStyles;
 
 import nl.jqno.equalsverifier.EqualsVerifier;
@@ -34,6 +35,8 @@ class VersionConflictResolveCommandTest {
                     User.createOsmUser(1, "foo"), User.createOsmUser(2, "bar"))
             .withPrefabValues(OsmDataLayer.class,
                     new OsmDataLayer(new DataSet(), "1", null), new OsmDataLayer(new DataSet(), "2", null))
+            .withPrefabValues(ElemStyles.class,
+                    new ElemStyles(), new ElemStyles())
             .suppress(Warning.NONFINAL_FIELDS)
             .verify();
     }
diff --git a/test/unit/org/openstreetmap/josm/command/conflict/WayNodesConflictResolverCommandTest.java b/test/unit/org/openstreetmap/josm/command/conflict/WayNodesConflictResolverCommandTest.java
index 6c44982301..3c971d3803 100644
--- a/test/unit/org/openstreetmap/josm/command/conflict/WayNodesConflictResolverCommandTest.java
+++ b/test/unit/org/openstreetmap/josm/command/conflict/WayNodesConflictResolverCommandTest.java
@@ -9,6 +9,7 @@ import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.User;
 import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+import org.openstreetmap.josm.gui.mappaint.ElemStyles;
 import org.openstreetmap.josm.testutils.annotations.MapPaintStyles;
 
 import nl.jqno.equalsverifier.EqualsVerifier;
@@ -34,6 +35,8 @@ class WayNodesConflictResolverCommandTest {
                     User.createOsmUser(1, "foo"), User.createOsmUser(2, "bar"))
             .withPrefabValues(OsmDataLayer.class,
                     new OsmDataLayer(new DataSet(), "1", null), new OsmDataLayer(new DataSet(), "2", null))
+            .withPrefabValues(ElemStyles.class,
+                    new ElemStyles(), new ElemStyles())
             .suppress(Warning.NONFINAL_FIELDS)
             .verify();
     }
