Index: /trunk/src/org/openstreetmap/josm/actions/mapmode/ImproveWayAccuracyAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/mapmode/ImproveWayAccuracyAction.java	(revision 8891)
+++ /trunk/src/org/openstreetmap/josm/actions/mapmode/ImproveWayAccuracyAction.java	(revision 8892)
@@ -445,7 +445,10 @@
                 List<Way> ways = OsmPrimitive.getFilteredList(referrers, Way.class);
                 if (referrers.size() != 1 || ways.size() != 1) {
-                    JOptionPane.showMessageDialog(Main.parent,
-                            tr("Cannot delete node that is referenced by multiple objects"),
-                            tr("Error"), JOptionPane.ERROR_MESSAGE);
+                    // detach node from way
+                    final Way newWay = new Way(targetWay);
+                    final List<Node> nodes = newWay.getNodes();
+                    nodes.remove(candidateNode);
+                    newWay.setNodes(nodes);
+                    Main.main.undoRedo.add(new ChangeCommand(targetWay, newWay));
                 } else if (candidateNode.isTagged()) {
                     JOptionPane.showMessageDialog(Main.parent,
