Index: trunk/src/org/openstreetmap/josm/actions/UnGlueAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/UnGlueAction.java	(revision 3240)
+++ trunk/src/org/openstreetmap/josm/actions/UnGlueAction.java	(revision 3241)
@@ -280,4 +280,6 @@
      * dupe the given node of the given way
      *
+     * assume that OrginalNode is in the way
+     *
      * -> the new node will be put into the parameter newNodes.
      * -> the add-node command will be put into the parameter cmds.
@@ -285,11 +287,13 @@
      */
     private Way modifyWay(Node originalNode, Way w, List<Command> cmds, List<Node> newNodes) {
+        // clone the node for the way
+        Node newNode = new Node(originalNode, true /* clear OSM ID */);
+        newNodes.add(newNode);
+        cmds.add(new AddCommand(newNode));
+
         ArrayList<Node> nn = new ArrayList<Node>();
         for (Node pushNode : w.getNodes()) {
             if (originalNode == pushNode) {
-                // clone the node for all other ways
-                pushNode = new Node(pushNode, true /* clear OSM ID */);
-                newNodes.add(pushNode);
-                cmds.add(new AddCommand(pushNode));
+                pushNode = newNode;
             }
             nn.add(pushNode);
