Index: trunk/src/org/openstreetmap/josm/actions/CreateCircleAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/CreateCircleAction.java	(revision 6671)
+++ trunk/src/org/openstreetmap/josm/actions/CreateCircleAction.java	(revision 6672)
@@ -21,4 +21,5 @@
 import org.openstreetmap.josm.command.SequenceCommand;
 import org.openstreetmap.josm.data.coor.EastNorth;
+import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
@@ -203,8 +204,5 @@
 
             if (sUnder == 0) {
-                new Notification(
-                        tr("Those nodes are not in a circle. Aborting."))
-                        .setIcon(JOptionPane.WARNING_MESSAGE)
-                        .show();
+                notifyNodesNotOnCircle();
                 return;
             }
@@ -246,5 +244,10 @@
                 double x = xc + r*Math.cos(a);
                 double y = yc + r*Math.sin(a);
-                Node n = new Node(Main.getProjection().eastNorth2latlon(new EastNorth(x,y)));
+                LatLon ll = Main.getProjection().eastNorth2latlon(new EastNorth(x,y));
+                if (ll.isOutSideWorld()) {
+                    notifyNodesNotOnCircle();
+                    return;
+                }
+                Node n = new Node(ll);
                 wayToAdd.add(n);
                 cmds.add(new AddCommand(n));
@@ -273,4 +276,11 @@
         Main.map.repaint();
     }
+    
+    private static void notifyNodesNotOnCircle() {
+        new Notification(
+                tr("Those nodes are not in a circle. Aborting."))
+                .setIcon(JOptionPane.WARNING_MESSAGE)
+                .show();
+    }
 
     @Override
