Index: /trunk/src/org/openstreetmap/josm/actions/JoinAreasAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/JoinAreasAction.java	(revision 10173)
+++ /trunk/src/org/openstreetmap/josm/actions/JoinAreasAction.java	(revision 10174)
@@ -959,11 +959,14 @@
                     Collections.<OsmPrimitive>emptyList(), SplitWayAction.Strategy.keepFirstChunk());
 
-            //execute the command, we need the results
-            cmds.add(split.getCommand());
-            commitCommands(marktr("Split ways into fragments"));
-
-            result.add(split.getOriginalWay());
-            result.addAll(split.getNewWays());
-        } else {
+            if (split != null) {
+                //execute the command, we need the results
+                cmds.add(split.getCommand());
+                commitCommands(marktr("Split ways into fragments"));
+
+                result.add(split.getOriginalWay());
+                result.addAll(split.getNewWays());
+            }
+        }
+        if (result.isEmpty()) {
             //nothing to split
             result.add(way);
Index: /trunk/src/org/openstreetmap/josm/actions/SplitWayAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/SplitWayAction.java	(revision 10173)
+++ /trunk/src/org/openstreetmap/josm/actions/SplitWayAction.java	(revision 10174)
@@ -746,6 +746,5 @@
     public static SplitWayResult split(OsmDataLayer layer, Way way, List<Node> atNodes, Collection<? extends OsmPrimitive> selection) {
         List<List<Node>> chunks = buildSplitChunks(way, atNodes);
-        if (chunks == null) return null;
-        return splitWay(layer, way, chunks, selection);
+        return chunks != null ? splitWay(layer, way, chunks, selection) : null;
     }
 
Index: /trunk/src/org/openstreetmap/josm/command/DeleteCommand.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/command/DeleteCommand.java	(revision 10173)
+++ /trunk/src/org/openstreetmap/josm/command/DeleteCommand.java	(revision 10174)
@@ -8,4 +8,5 @@
 import java.awt.GridBagLayout;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
@@ -27,4 +28,5 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.SplitWayAction;
+import org.openstreetmap.josm.actions.SplitWayAction.SplitWayResult;
 import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
@@ -470,8 +472,6 @@
             return new ChangeCommand(ws.way, wnew);
         } else {
-            List<List<Node>> chunks = new ArrayList<>(2);
-            chunks.add(n1);
-            chunks.add(n2);
-            return SplitWayAction.splitWay(layer, ws.way, chunks, Collections.<OsmPrimitive>emptyList()).getCommand();
+            SplitWayResult split = SplitWayAction.splitWay(layer, ws.way, Arrays.asList(n1, n2), Collections.<OsmPrimitive>emptyList());
+            return split != null ? split.getCommand() : null;
         }
     }
