Index: src/org/openstreetmap/josm/actions/CreateCircleAction.java
===================================================================
--- src/org/openstreetmap/josm/actions/CreateCircleAction.java	(révision 6950)
+++ src/org/openstreetmap/josm/actions/CreateCircleAction.java	(copie de travail)
@@ -9,6 +9,7 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.Comparator;
 import java.util.LinkedList;
 import java.util.List;
@@ -230,6 +231,20 @@
             }
         }
         wayToAdd.add(wayToAdd.get(0)); // close the circle
+        
+        // Set circle direction same as selected nodes (see: #7421) 
+        if(nodes.size() == 3) {
+            double[] x = new double[2];
+            double[] y = new double[2];
+            for(int i = 0; i < 2; i++) {
+                x[i] = nodes.get(i+1).getEastNorth().east() - nodes.get(i).getEastNorth().east();
+                y[i] = nodes.get(i+1).getEastNorth().north() - nodes.get(i).getEastNorth().north();
+            }
+            double pvect = x[0] * y[1] - x[1] * y[0];
+            if(pvect < 0)
+                Collections.reverse(wayToAdd);
+        }
+        
         if (existingWay == null) {
             Way newWay = new Way();
             newWay.setNodes(wayToAdd);
