Index: trunk/src/org/openstreetmap/josm/command/PurgeCommand.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/PurgeCommand.java	(revision 12604)
+++ trunk/src/org/openstreetmap/josm/command/PurgeCommand.java	(revision 12605)
@@ -101,7 +101,7 @@
         try {
             purgedConflicts.get().clear();
-            /**
-             * Loop from back to front to keep referential integrity.
-             */
+            // unselect primitives in advance to not fire a selection change for every one of them
+            getAffectedDataSet().clearSelection(toPurge);
+            // Loop from back to front to keep referential integrity.
             for (int i = toPurge.size()-1; i >= 0; --i) {
                 OsmPrimitive osm = toPurge.get(i);
