diff --git a/Common/Context.h b/Common/Context.h
index 206f936961f37c1d13933a339ea26db03ef189a0..fa6a3372497752d15002bc2289f1a9e9ca948770 100644
--- a/Common/Context.h
+++ b/Common/Context.h
@@ -1,4 +1,4 @@
-/* $Id: Context.h,v 1.13 2000-12-05 18:38:08 geuzaine Exp $ */
+/* $Id: Context.h,v 1.14 2000-12-05 20:02:12 geuzaine Exp $ */
 #ifndef _CONTEXT_H_
 #define _CONTEXT_H_
 
@@ -126,7 +126,7 @@ class Context_T {
     int dual, interactive;
     int hidden, shade;
     int format, nb_smoothing, algo, degree;
-    int point_insertion, speed_max;
+    int point_insertion, speed_max, min_circ_points;
     double normals, tangents, explode;
   } mesh;
 
diff --git a/Common/Options.h b/Common/Options.h
index 943eaacd3619e582425997af2eee856b3995f968..b9b35142adb772d91a777026033a782d00a26047 100644
--- a/Common/Options.h
+++ b/Common/Options.h
@@ -1,4 +1,4 @@
-/* $Id: Options.h,v 1.2 2000-12-05 18:38:09 geuzaine Exp $ */
+/* $Id: Options.h,v 1.3 2000-12-05 20:02:12 geuzaine Exp $ */
 #ifndef _OPTIONS_H_
 #define _OPTIONS_H_
 
@@ -115,6 +115,8 @@ StringXNumber MeshOptions_Number[] = {
   { "Algorithm"       , GMSH_INT,    (void*)&CTX.mesh.algo           , DELAUNAY_OLDALGO }, 
   { "PointInsertion"  , GMSH_INT,    (void*)&CTX.mesh.point_insertion, CENTER_CIRCCIRC }, 
   { "SpeedMax"        , GMSH_INT,    (void*)&CTX.mesh.speed_max      , 0. }, 
+  { "MinimumCirclePoints" ,
+                        GMSH_INT,    (void*)&CTX.mesh.min_circ_points, 7. }, 
   { "Degree"          , GMSH_INT,    (void*)&CTX.mesh.degree         , 1. }, 
   { "Dual"            , GMSH_INT,    (void*)&CTX.mesh.dual           , 0. }, 
   { "Interactive"     , GMSH_INT,    (void*)&CTX.mesh.interactive    , 0. }, 
diff --git a/Mesh/1D_Mesh.cpp b/Mesh/1D_Mesh.cpp
index 4d3ffba9ff78ee3a8b157ff11ea7b2bb21ebef7e..f24a89a487baadce7639294fb6ed8e1d6bd8f37b 100644
--- a/Mesh/1D_Mesh.cpp
+++ b/Mesh/1D_Mesh.cpp
@@ -1,4 +1,4 @@
-/* $Id: 1D_Mesh.cpp,v 1.7 2000-11-28 11:28:31 geuzaine Exp $ */
+/* $Id: 1D_Mesh.cpp,v 1.8 2000-12-05 20:02:16 geuzaine Exp $ */
 
 #include "Gmsh.h"
 #include "Const.h"
@@ -81,8 +81,6 @@ double F_Lc (double t){
   return THEM->Metric->getLc(t, THEC);
 }
 
-double CIRC_GRAN = 10.;
-
 void Maillage_Curve (void *data, void *dummy){
   Curve **pc, *c;
   Simplex *s;
@@ -121,7 +119,7 @@ void Maillage_Curve (void *data, void *dummy){
           c->Typ == MSH_SEGM_ELLI ||
           c->Typ == MSH_SEGM_ELLI_INV){
         N = IMAX (N, (int) (fabs (c->Circle.t1 - c->Circle.t2) *
-                            CIRC_GRAN / Pi));
+                            (double)CTX.mesh.min_circ_points / Pi));
       }
       else if (c->Typ == MSH_SEGM_NURBS){
         N = IMAX (N, 2);