diff --git a/Mesh/BDS.cpp b/Mesh/BDS.cpp
index 3a02c0bff67332834b2dc2a28ba4868033482b97..c1cff092f057b932a6052091c99ecd9973dbe74a 100644
--- a/Mesh/BDS.cpp
+++ b/Mesh/BDS.cpp
@@ -1261,8 +1261,10 @@ bool BDS_Mesh::smooth_point_centroid(BDS_Point *p, GFace *gf, bool test_quality)
       oldWorst = std::min(oldWorst, qmTriangle(*it, QMTRI_RHO));
       double ps;
       prosca(norm1, norm2, &ps);
-      double threshold = (isSphere ? 0.9 : 0.5);
-      if(ps < threshold) return false;
+      double threshold = (isSphere ? 0.95 : 0.5);
+      if(ps < threshold){
+        return false;
+      }
     }
     ++it;
   }