Index: trunk/src/org/openstreetmap/josm/actions/mapmode/ExtrudeAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/mapmode/ExtrudeAction.java	(revision 5746)
+++ trunk/src/org/openstreetmap/josm/actions/mapmode/ExtrudeAction.java	(revision 5747)
@@ -432,4 +432,5 @@
         Collection<Command> cmds = new LinkedList<Command>();
         Way wnew = new Way(selectedSegment.way);
+        boolean wayWasModified = false;
         int insertionPoint = selectedSegment.lowerIndex + 1;
 
@@ -447,4 +448,5 @@
             Node n1New = new Node(Main.getProjection().eastNorth2latlon(newN1en));
             wnew.addNode(insertionPoint, n1New);
+            wayWasModified = true;
             insertionPoint ++;
             cmds.add(new AddCommand(n1New));
@@ -464,4 +466,5 @@
             Node n2New = new Node(Main.getProjection().eastNorth2latlon(newN2en));
             wnew.addNode(insertionPoint, n2New);
+            wayWasModified = true;
             insertionPoint ++;
             cmds.add(new AddCommand(n2New));
@@ -471,7 +474,10 @@
         if (wnew.getNodesCount() == 4) {
             wnew.addNode(selectedSegment.getFirstNode());
-        }
-
-        cmds.add(new ChangeCommand(selectedSegment.way, wnew));
+            wayWasModified = true;
+        }
+        if (wayWasModified) {
+            // we only need to change the way if its node list was really modified
+            cmds.add(new ChangeCommand(selectedSegment.way, wnew));
+        }
         Command c = new SequenceCommand(tr("Extrude Way"), cmds);
         Main.main.undoRedo.add(c);
