diff --git a/Geo/gmshEdge.cpp b/Geo/gmshEdge.cpp
index 11e9b1f8c5f58bd7f1283abd2955c0755a360190..12415dfba3b76a415eb890363b7dfb1cd8b4f3e8 100644
--- a/Geo/gmshEdge.cpp
+++ b/Geo/gmshEdge.cpp
@@ -122,12 +122,12 @@ int gmshEdge::minimumMeshSegments () const
     np = GEdge::minimumMeshSegments();
     // FIXME FOR QUADS
     if(List_Nbr(c->Control_Points) > 2){
-      np = 3*(List_Nbr(c->Control_Points))+1;
+      np = 3 * (List_Nbr(c->Control_Points)) + 1;
     }
   }
   else if(geomType() == Circle || geomType() == Ellipse)
     np = (int)(fabs(c->Circle.t1 - c->Circle.t2) *
-                 (double)CTX::instance()->mesh.minCircPoints / M_PI) - 1;
+               (double)CTX::instance()->mesh.minCircPoints / (2 * M_PI)) - 1;
   else
     np = CTX::instance()->mesh.minCurvPoints - 1;
   return std::max(np, meshAttributes.minimumMeshSegments);