Index: trunk/src/org/openstreetmap/josm/command/AddPrimitivesCommand.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/AddPrimitivesCommand.java	(revision 19211)
+++ trunk/src/org/openstreetmap/josm/command/AddPrimitivesCommand.java	(revision 19214)
@@ -10,6 +10,4 @@
 import java.util.Optional;
 import java.util.stream.Collectors;
-
-import javax.swing.Icon;
 
 import org.openstreetmap.josm.data.osm.DataSet;
@@ -69,4 +67,12 @@
     public boolean executeCommand() {
         DataSet ds = getAffectedDataSet();
+        ds.update(() -> this.executeRealCommand(ds));
+        if (toSelect != null) {
+            ds.setSelected(toSelect.stream().map(ds::getPrimitiveById).collect(Collectors.toList()));
+        }
+        return true;
+    }
+
+    private void executeRealCommand(DataSet ds) {
         if (createdPrimitives == null) { // first time execution
             List<OsmPrimitive> newPrimitives = new ArrayList<>(data.size());
@@ -110,8 +116,4 @@
             }
         }
-        if (toSelect != null) {
-            ds.setSelected(toSelect.stream().map(ds::getPrimitiveById).collect(Collectors.toList()));
-        }
-        return true;
     }
 
@@ -150,9 +152,4 @@
 
     @Override
-    public Icon getDescriptionIcon() {
-        return null;
-    }
-
-    @Override
     public void fillModifiedData(Collection<OsmPrimitive> modified, Collection<OsmPrimitive> deleted,
             Collection<OsmPrimitive> added) {
