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 34824)
+++ applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/curves/CircleArcMaker.java	(revision 34840)
@@ -91,5 +91,5 @@
             }
             // Fix #7341. Find the first way having all nodes in common to sort them in its nodes order
-            List<Node> consideredNodes = Arrays.asList(new Node[]{n1, n2, n3});
+            List<Node> consideredNodes = Arrays.asList(n1, n2, n3);
             for (Way w : selectedWays) {
                 final List<Node> nodes = w.getNodes();
@@ -116,9 +116,12 @@
         }
 
-
         EastNorth p1 = n1.getEastNorth();
         EastNorth p2 = n2.getEastNorth();
         EastNorth p3 = n3.getEastNorth();
-        // TODO: Check that the points are distinct
+
+        // make sure that points are different
+        if (p1.equals(p2) || p1.equals(p3) || p2.equals(p3)) {
+            return null;
+        }
 
         // // Calculate the new points in the arc
@@ -249,5 +252,4 @@
         double startAngle = realA1;
         // Transform the angles to get a consistent starting point
-        //double a1 = 0;
         double a2 = normalizeAngle(realA2 - startAngle);
         double a3 = normalizeAngle(realA3 - startAngle);
@@ -261,5 +263,4 @@
             // make the angles consistent with the direction.
             a2 = (Math.PI * 2 - a2);
-            a3 = (Math.PI * 2 - a3);
         }
         int numberOfNodesInArc = Math.max((int) Math.ceil((radialLength / Math.PI) * 180 / angleSeparation)+1,
Index: applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/curves/CurveAction.java
===================================================================
--- applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/curves/CurveAction.java	(revision 34824)
+++ applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/curves/CurveAction.java	(revision 34840)
@@ -11,4 +11,6 @@
 import java.util.List;
 
+import javax.swing.JOptionPane;
+
 import org.openstreetmap.josm.actions.JosmAction;
 import org.openstreetmap.josm.command.Command;
@@ -18,4 +20,5 @@
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.Way;
+import org.openstreetmap.josm.gui.Notification;
 import org.openstreetmap.josm.spi.preferences.Config;
 import org.openstreetmap.josm.tools.Shortcut;
@@ -61,6 +64,10 @@
 
         Collection<Command> cmds = CircleArcMaker.doCircleArc(selectedNodes, selectedWays, angleSeparation);
-        if (cmds != null)
+        if (cmds == null || cmds.isEmpty()) {
+            new Notification(tr("Could not use selection to create a curve")).setIcon(JOptionPane.WARNING_MESSAGE).show();
+
+        } else {
             UndoRedoHandler.getInstance().add(new SequenceCommand("Create a curve", cmds));
+        }
     }
 
