Index: src/org/openstreetmap/josm/command/DeleteCommand.java
===================================================================
--- src/org/openstreetmap/josm/command/DeleteCommand.java	(revision 15871)
+++ src/org/openstreetmap/josm/command/DeleteCommand.java	(working copy)
@@ -440,9 +440,10 @@
                 .collect(Collectors.toSet());
 
         Collection<Command> cmds = new LinkedList<>();
+        Set<Node> nodesToRemove = new HashSet<>(Utils.filteredCollection(primitivesToDelete, Node.class));
         for (Way w : waysToBeChanged) {
             Way wnew = new Way(w);
-            wnew.removeNodes(new HashSet<>(Utils.filteredCollection(primitivesToDelete, Node.class)));
+            wnew.removeNodes(nodesToRemove);
             if (wnew.getNodesCount() < 2) {
                 primitivesToDelete.add(w);
             } else {
