diff --git a/Geo/Geo.cpp b/Geo/Geo.cpp
index 54676badbeefdb680e41c56c077188a68f31f748..9ceab9c533e03e708fd4bc3007c5602370a2cc30 100644
--- a/Geo/Geo.cpp
+++ b/Geo/Geo.cpp
@@ -126,7 +126,7 @@ Vertex *Create_Vertex(int Num, double u, double v, gmshSurface *surf, double lc)
   pV->u = u;
   pV->geometry = surf;
   pV->pntOnGeometry = SPoint2(u,v);
-  surf->is_projection_surface=true;
+  surf->is_parametric_surface=true;
   return pV;
 }
 
diff --git a/Geo/gmshSurface.cpp b/Geo/gmshSurface.cpp
index 8936e3a6bb4f14883853fb5c29ca8b78e302fa10..ba92756764a8c2f653a50e04faf3ccf64318f831 100644
--- a/Geo/gmshSurface.cpp
+++ b/Geo/gmshSurface.cpp
@@ -79,6 +79,8 @@ gmshSurface *gmshPolarSphere::NewPolarSphere(int iSphere, double x, double y, do
   return sph;
 }
 
+gmshPolarSphere::gmshPolarSphere(double x, double y, double z, double _r) : r(_r), o(x,y,z) {
+}
 SPoint3 gmshPolarSphere::point(double parA, double parB) const
 {
   //stereographic projection from the south pole, origin of the axis
diff --git a/Geo/gmshSurface.h b/Geo/gmshSurface.h
index 34ac7c013ef4af84bd1eda37966598f6b595b4b9..0a3083b0a99facee1ea1a950fde9d27b7bbc9437 100644
--- a/Geo/gmshSurface.h
+++ b/Geo/gmshSurface.h
@@ -21,13 +21,14 @@ class gmshSurface
 protected:  
   static std::map<int, gmshSurface*> allGmshSurfaces;
 public:
-  bool is_projection_surface;
+  //there are points define in this surface parameterization
+  bool is_parametric_surface;
   virtual ~gmshSurface(){}
   static void reset() 
   {
     std::map<int, gmshSurface*>::iterator it = allGmshSurfaces.begin();
     for (; it != allGmshSurfaces.end(); ++it){
-      if(!it->second->is_projection_surface)
+      if(!it->second->is_parametric_surface)
         delete it->second;
     }
     allGmshSurfaces.clear();
@@ -86,8 +87,7 @@ class gmshPolarSphere : public gmshSurface
 {
   double r;
   SPoint3 o;
-  gmshPolarSphere(double x, double y, double z, double _r) : r(_r), o(x,y,z) {
-  }
+  gmshPolarSphere(double x, double y, double z, double _r);
 public:
   static gmshSurface *NewPolarSphere(int _iSphere, double _x, double _y, double _z, double _r);
   virtual Range<double> parBounds(int i) const