Index: /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/curves/CircleArcMaker.java
===================================================================
--- /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/curves/CircleArcMaker.java	(revision 35607)
+++ /applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/curves/CircleArcMaker.java	(revision 35608)
@@ -16,5 +16,5 @@
 
 import org.openstreetmap.josm.command.AddCommand;
-import org.openstreetmap.josm.command.ChangeCommand;
+import org.openstreetmap.josm.command.ChangeNodesCommand;
 import org.openstreetmap.josm.command.Command;
 import org.openstreetmap.josm.command.MoveCommand;
@@ -177,5 +177,7 @@
         Set<Way> targetWays = new HashSet<>();
         if (!selectedWays.isEmpty()) {
-            orig.forEach(n -> targetWays.addAll(n.getParentWays()));
+            for (int i = pos1 + 1; i < pos3; i++) {
+                targetWays.addAll(nodes.get(i).getParentWays());
+            }
         } else {
             targetWays.add(w);
@@ -366,6 +368,7 @@
             }
             if (twWasChanged) {
-                cmds.add(new ChangeCommand(ds, originalTw, tw));
-            }
+                cmds.add(new ChangeNodesCommand(ds, originalTw, new ArrayList<>(tw.getNodes())));
+            }
+            tw.setNodes(null); // see #19885
         }
     }
