Index: trunk/src/org/openstreetmap/josm/actions/JoinAreasAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/JoinAreasAction.java	(revision 11314)
+++ trunk/src/org/openstreetmap/josm/actions/JoinAreasAction.java	(revision 11315)
@@ -1094,8 +1094,4 @@
     public static List<AssembledPolygon> findBoundaryPolygons(Collection<WayInPolygon> multigonWays,
             List<Way> discardedResult) {
-        //first find all discardable ways, by getting outer shells.
-        //this will produce incorrect boundaries in some cases, but second pass will fix it.
-        List<WayInPolygon> discardedWays = new ArrayList<>();
-
         // In multigonWays collection, some way are just a point (i.e. way like nodeA-nodeA)
         // This seems to appear when is apply over invalid way like #9911 test-case
@@ -1103,7 +1099,5 @@
         List<WayInPolygon> cleanMultigonWays = new ArrayList<>();
         for (WayInPolygon way: multigonWays) {
-            if (way.way.getNodesCount() == 2 && way.way.isClosed())
-                discardedWays.add(way);
-            else
+            if (way.way.getNodesCount() != 2 || !way.way.isClosed())
                 cleanMultigonWays.add(way);
         }
