Index: src/org/openstreetmap/josm/data/validation/tests/MultipolygonTest.java
===================================================================
--- src/org/openstreetmap/josm/data/validation/tests/MultipolygonTest.java	(revision 18275)
+++ src/org/openstreetmap/josm/data/validation/tests/MultipolygonTest.java	(working copy)
@@ -56,14 +56,13 @@
     public static final int INNER_WAY_OUTSIDE = 1605;
     /** Intersection between multipolygon ways */
     public static final int CROSSING_WAYS = 1606;
-    /** Style for outer way mismatches / With the currently used mappaint style(s) the style for outer way mismatches the area style */
-    public static final int OUTER_STYLE_MISMATCH = 1607;
+    // 1607 is no longer used: With the currently used mappaint style(s) the style for outer way mismatches the area style
     /** With the currently used mappaint style the style for inner way equals the multipolygon style */
     public static final int INNER_STYLE_MISMATCH = 1608;
-    // no longer used: Area style way is not closed NOT_CLOSED = 1609
+    // 1609 is no longer used: Area style way is not closed
     /** No area style for multipolygon */
     public static final int NO_STYLE = 1610;
-    // no longer used: Multipolygon relation should be tagged with area tags and not the outer way(s) NO_STYLE_POLYGON = 1611;
+    // 1611 is no longer used: Multipolygon relation should be tagged with area tags and not the outer way(s)
     /** Area style on outer way */
     public static final int OUTER_STYLE = 1613;
     /** Multipolygon member repeated (same primitive, same role */
@@ -125,7 +124,6 @@
      * Various style-related checks:<ul>
      * <li>{@link #NO_STYLE}: No area style for multipolygon</li>
      * <li>{@link #INNER_STYLE_MISMATCH}: With the currently used mappaint style the style for inner way equals the multipolygon style</li>
-     * <li>{@link #OUTER_STYLE_MISMATCH}: With the currently used mappaint style the style for outer way mismatches the area style</li>
      * <li>{@link #OUTER_STYLE}: Area style on outer way</li>
      * </ul>
      * @param r relation
@@ -154,19 +152,11 @@
                         continue;
                     AreaElement areaOuter = ElemStyles.getAreaElemStyle(wOuter, false);
                     if (areaOuter != null) {
-                        if (!area.equals(areaOuter)) {
-                            errors.add(TestError.builder(this, Severity.OTHER, OUTER_STYLE_MISMATCH)
-                                    .message(tr("With the currently used mappaint style the style for outer way mismatches the area style"))
-                                    .primitives(Arrays.asList(r, wOuter))
-                                    .highlight(wOuter)
-                                    .build());
-                        } else { /* style on outer way of multipolygon, but equal to polygon */
-                            errors.add(TestError.builder(this, Severity.WARNING, OUTER_STYLE)
-                                    .message(tr("Area style on outer way"))
-                                    .primitives(Arrays.asList(r, wOuter))
-                                    .highlight(wOuter)
-                                    .build());
-                        }
+                        errors.add(TestError.builder(this, Severity.WARNING, OUTER_STYLE)
+                                .message(tr("Area style on outer way"))
+                                .primitives(Arrays.asList(r, wOuter))
+                                .highlight(wOuter)
+                                .build());
                     }
                 }
             }
Index: src/org/openstreetmap/josm/data/validation/tests/TagChecker.java
===================================================================
--- src/org/openstreetmap/josm/data/validation/tests/TagChecker.java	(revision 18275)
+++ src/org/openstreetmap/josm/data/validation/tests/TagChecker.java	(working copy)
@@ -42,11 +42,9 @@
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.OsmUtils;
 import org.openstreetmap.josm.data.osm.Relation;
-import org.openstreetmap.josm.data.osm.RelationMember;
 import org.openstreetmap.josm.data.osm.Tag;
 import org.openstreetmap.josm.data.osm.TagMap;
 import org.openstreetmap.josm.data.osm.Tagged;
-import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.data.osm.visitor.MergeSourceBuildingVisitor;
 import org.openstreetmap.josm.data.preferences.sources.ValidatorPrefHelper;
 import org.openstreetmap.josm.data.validation.OsmValidator;
@@ -103,9 +101,6 @@
     /** tag keys that have only numerical values in the presets */
     private static final Set<String> ignoreForLevenshtein = new HashSet<>();
 
-    /** tag keys that are allowed to be the same on a multipolygon and an outer way */
-    private static final Set<String> ignoreForOuterMPSameTagCheck = new HashSet<>();
-
     /** The preferences prefix */
     protected static final String PREFIX = ValidatorPrefHelper.PREFIX + "." + TagChecker.class.getSimpleName();
 
@@ -160,11 +155,6 @@
      */
     public static final String PREF_CHECK_PRESETS_TYPES_BEFORE_UPLOAD = PREF_CHECK_PRESETS_TYPES + BEFORE_UPLOAD;
 
-    /**
-     * The preference key for the list of tag keys that are allowed to be the same on a multipolygon and an outer way
-     */
-    public static final String PREF_KEYS_IGNORE_OUTER_MP_SAME_TAG = PREFIX + ".ignore-keys-outer-mp-same-tag";
-
     private static final int MAX_LEVENSHTEIN_DISTANCE = 2;
 
     protected boolean includeOtherSeverity;
@@ -209,7 +199,6 @@
     protected static final int MULTIPOLYGON_NO_AREA             = 1218;
     protected static final int MULTIPOLYGON_INCOMPLETE          = 1219;
     protected static final int MULTIPOLYGON_MAYBE_NO_AREA       = 1220;
-    protected static final int MULTIPOLYGON_SAME_TAG_ON_OUTER   = 1221;
     // CHECKSTYLE.ON: SingleSpaceSeparator
 
     protected EditableList sourcesList;
@@ -264,7 +253,6 @@
         ignoreForLevenshtein.clear();
         oftenUsedTags.clear();
         presetIndex.clear();
-        ignoreForOuterMPSameTagCheck.clear();
 
         StringBuilder errorSources = new StringBuilder();
         for (String source : Config.getPref().getList(PREF_SOURCES, DEFAULT_SOURCES)) {
@@ -649,7 +637,7 @@
         }
 
         if (p instanceof Relation && p.hasTag("type", "multipolygon")) {
-        checkMultipolygonTags(p);
+            checkMultipolygonTags(p);
         }
 
         if (checkPresetsTypes) {
@@ -694,8 +682,6 @@
                 .anyMatch(k -> k.matches("^(abandoned|construction|demolished|disused|planned|razed|removed|was).*")))
             return;
 
-        checkOuterWaysOfRelation((Relation) p);
-
         if (hasAcceptedPrimaryTagForMultipolygon(p))
             return;
         TestError.Builder builder = null;
@@ -724,42 +710,6 @@
     }
 
     /**
-     * Check if an outer way of the relation has the same tag as the relation.
-     * @param rel the relation
-     */
-    private void checkOuterWaysOfRelation(Relation rel) {
-        for (Entry<String, String> tag : rel.getInterestingTags().entrySet()) {
-            if (ignoreForOuterMPSameTagCheck.contains(tag.getKey()))
-                continue;
-
-            Set<Way> sameOuters = rel.getMembers().stream()
-                    .filter(rm -> rm.isWay() && rm.getWay().isArea() && "outer".equals(rm.getRole())
-                            && tag.getValue().equals(rm.getWay().get(tag.getKey())))
-                    .map(RelationMember::getWay).collect(Collectors.toSet());
-            if (!sameOuters.isEmpty()) {
-                List<OsmPrimitive> primitives = new ArrayList<>(sameOuters.size() + 1);
-                primitives.add(rel);
-                primitives.addAll(sameOuters);
-                Way w = new Way();
-                w.put(tag.getKey(), tag.getValue());
-                if (hasAcceptedPrimaryTagForMultipolygon(w)) {
-                    errors.add(TestError.builder(this, Severity.WARNING, MULTIPOLYGON_SAME_TAG_ON_OUTER)
-                            .message(tr("Multipolygon outer way repeats major tag of relation"),
-                                    marktr("Same tag:''{0}''=''{1}''"), tag.getKey(), tag.getValue())
-                            .primitives(primitives)
-                            .build());
-                } else {
-                    errors.add(TestError.builder(this, Severity.OTHER, MULTIPOLYGON_SAME_TAG_ON_OUTER)
-                            .message(tr("Multipolygon outer way repeats tag of relation"),
-                                    marktr("Same tag:''{0}''=''{1}''"), tag.getKey(), tag.getValue())
-                            .primitives(primitives)
-                            .build());
-                }
-            }
-        }
-    }
-
-    /**
      * Check if a multipolygon has a main tag that describes the type of area. Accepts also some deprecated tags and typos.
      * @param p the multipolygon
      * @return true if the multipolygon has a main tag that (likely) describes the type of area.
@@ -1098,7 +1048,6 @@
             checkPresetsTypes = checkPresetsTypes && Config.getPref().getBoolean(PREF_CHECK_PRESETS_TYPES_BEFORE_UPLOAD, true);
         }
         deprecatedChecker = OsmValidator.getTest(MapCSSTagChecker.class);
-        ignoreForOuterMPSameTagCheck.addAll(Config.getPref().getList(PREF_KEYS_IGNORE_OUTER_MP_SAME_TAG, Collections.emptyList()));
     }
 
     @Override
