Index: /applications/editors/josm/plugins/addrinterpolation/src/org/openstreetmap/josm/plugins/AddrInterpolation/AddrInterpolationDialog.java
===================================================================
--- /applications/editors/josm/plugins/addrinterpolation/src/org/openstreetmap/josm/plugins/AddrInterpolation/AddrInterpolationDialog.java	(revision 36133)
+++ /applications/editors/josm/plugins/addrinterpolation/src/org/openstreetmap/josm/plugins/AddrInterpolation/AddrInterpolationDialog.java	(revision 36134)
@@ -978,14 +978,7 @@
 
     private void removeAddressInterpolationWay() {
-
-        // Remove way - nodes of the way remain
-        commandGroup.add(DeleteCommand.delete(Collections.singleton(addrInterpolationWay)));
-
-        // Remove untagged nodes
-        for (int i = 1; i < addrInterpolationWay.getNodesCount()-1; i++) {
-            Node testNode = addrInterpolationWay.getNode(i);
-            if (!testNode.hasKeys()) {
-                commandGroup.add(DeleteCommand.delete(Collections.singleton(testNode)));
-            }
+        final Command deleteCommand = DeleteCommand.delete(Collections.singleton(addrInterpolationWay), true);
+        if (deleteCommand != null) {
+            commandGroup.add(deleteCommand);
         }
 
Index: /applications/editors/josm/plugins/buildings_tools/src/org/openstreetmap/josm/plugins/buildings_tools/Building.java
===================================================================
--- /applications/editors/josm/plugins/buildings_tools/src/org/openstreetmap/josm/plugins/buildings_tools/Building.java	(revision 36133)
+++ /applications/editors/josm/plugins/buildings_tools/src/org/openstreetmap/josm/plugins/buildings_tools/Building.java	(revision 36134)
@@ -487,5 +487,8 @@
                     addressCmds.add(new ChangeMembersCommand(r, members));
                 }
-                addressCmds.add(DeleteCommand.delete(Collections.singleton(addrNode)));
+                final Command deleteCommand = DeleteCommand.delete(Collections.singleton(addrNode));
+                if (deleteCommand != null) {
+                    addressCmds.add(deleteCommand);
+                }
                 if (cmdList == null) {
                     Command c = new SequenceCommand(tr("Add address for building"), addressCmds);
Index: /applications/editors/josm/plugins/buildings_tools/src/org/openstreetmap/josm/plugins/buildings_tools/MergeAddrPointsAction.java
===================================================================
--- /applications/editors/josm/plugins/buildings_tools/src/org/openstreetmap/josm/plugins/buildings_tools/MergeAddrPointsAction.java	(revision 36133)
+++ /applications/editors/josm/plugins/buildings_tools/src/org/openstreetmap/josm/plugins/buildings_tools/MergeAddrPointsAction.java	(revision 36134)
@@ -38,6 +38,12 @@
 import org.openstreetmap.josm.tools.Shortcut;
 
+/**
+ * Merge address points with a building
+ */
 public class MergeAddrPointsAction extends JosmAction {
 
+    /**
+     * Merge the address point with the building
+     */
     public MergeAddrPointsAction() {
         super(tr("Merge address points"), "mergeaddr",
@@ -173,5 +179,8 @@
         }
         if (!replaced.isEmpty()) {
-            cmds.add(new DeleteCommand(replaced.stream().map(p -> p.a).collect(Collectors.toList())));
+            final Command deleteCommand = DeleteCommand.delete(replaced.stream().map(p -> p.a).collect(Collectors.toList()));
+            if (deleteCommand != null) {
+                cmds.add(deleteCommand);
+            }
         }
 
Index: /applications/editors/josm/plugins/merge-overlap/src/mergeoverlap/MergeOverlapAction.java
===================================================================
--- /applications/editors/josm/plugins/merge-overlap/src/mergeoverlap/MergeOverlapAction.java	(revision 36133)
+++ /applications/editors/josm/plugins/merge-overlap/src/mergeoverlap/MergeOverlapAction.java	(revision 36134)
@@ -225,5 +225,8 @@
         }
         if (!del.isEmpty()) {
-            cmds.add(DeleteCommand.delete(del));
+            final Command deleteCommand = DeleteCommand.delete(del);
+            if (deleteCommand != null) {
+                cmds.add(deleteCommand);
+            }
         }
 
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/ReconstructPolygonAction.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/ReconstructPolygonAction.java	(revision 36133)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/ReconstructPolygonAction.java	(revision 36134)
@@ -174,5 +174,8 @@
                                 candidateWay = tmp;
                             }
-                            commands.add(DeleteCommand.delete(Collections.singleton(w)));
+                            final Command deleteCommand = DeleteCommand.delete(Collections.singleton(w));
+                            if (deleteCommand != null) {
+                                commands.add(deleteCommand);
+                            }
                         }
                     }
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/TheRing.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/TheRing.java	(revision 36133)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/TheRing.java	(revision 36134)
@@ -399,5 +399,8 @@
         }
         if (!foundOwnWay) {
-            commands.add(DeleteCommand.delete(Collections.singleton(source)));
+            final Command deleteCommand = DeleteCommand.delete(Collections.singleton(source));
+            if (deleteCommand != null) {
+                commands.add(deleteCommand);
+            }
         }
         commands.addAll(relationCommands);
Index: /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/actions/SplitObjectAction.java
===================================================================
--- /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/actions/SplitObjectAction.java	(revision 36133)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/actions/SplitObjectAction.java	(revision 36134)
@@ -257,10 +257,14 @@
             }
             SplitWayCommand result = SplitWayCommand.splitWay(
-                    selectedWay, wayChunks, Collections.<OsmPrimitive>emptyList());
+                    selectedWay, wayChunks, Collections.emptyList());
             if (splitWay != null) {
                 result.executeCommand();
                 Command delCmd = DeleteCommand.delete(Collections.singletonList(splitWay));
-                delCmd.executeCommand();
-                UndoRedoHandler.getInstance().add(new SplitObjectCommand(Arrays.asList(result, delCmd)), false);
+                if (delCmd != null) {
+                    delCmd.executeCommand();
+                    UndoRedoHandler.getInstance().add(new SplitObjectCommand(Arrays.asList(result, delCmd)), false);
+                } else {
+                    UndoRedoHandler.getInstance().add(new SplitObjectCommand(Collections.singletonList(result)), false);
+                }
             } else {
                 UndoRedoHandler.getInstance().add(result);
@@ -542,5 +546,5 @@
                 if (wayChunks != null) {
                     SplitWayCommand result = SplitWayCommand.splitWay(
-                                    way, wayChunks, Collections.<OsmPrimitive>emptyList());
+                                    way, wayChunks, Collections.emptyList());
                     result.executeCommand(); // relation members are overwritten/broken if there are multiple unapplied splits
                     splitCmds.add(result);
