Index: trunk/src/org/openstreetmap/josm/actions/mapmode/DeleteAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/mapmode/DeleteAction.java	(revision 15125)
+++ trunk/src/org/openstreetmap/josm/actions/mapmode/DeleteAction.java	(revision 15126)
@@ -11,5 +11,7 @@
 import java.util.Collections;
 import java.util.HashSet;
+import java.util.List;
 import java.util.Set;
+import java.util.stream.Collectors;
 
 import org.openstreetmap.josm.command.Command;
@@ -356,11 +358,8 @@
         if (cmd != null) {
             // cmd can be null if the user cancels dialogs DialogCommand displays
+            List<Relation> toUnselect = toDelete.stream().filter(Relation::isSelected).collect(Collectors.toList());
             UndoRedoHandler.getInstance().add(cmd);
-            for (Relation relation : toDelete) {
-                if (layer.data.getSelectedRelations().contains(relation)) {
-                    layer.data.toggleSelected(relation);
-                }
-                RelationDialogManager.getRelationDialogManager().close(layer, relation);
-            }
+            toDelete.forEach(relation -> RelationDialogManager.getRelationDialogManager().close(layer, relation));
+            toUnselect.forEach(layer.data::toggleSelected);
         }
     }
