diff --git a/Mesh/meshGFace.cpp b/Mesh/meshGFace.cpp
index 41d2b7afa3845de83ce7ac55f1eeb51b8e3fbf89..99fe9736fa15468f466e92313c9e315b2b34643b 100644
--- a/Mesh/meshGFace.cpp
+++ b/Mesh/meshGFace.cpp
@@ -1411,7 +1411,7 @@ bool meshGenerator(GFace *gf, int RECUR_ITER,
   }
 
   // compute characteristic lengths at vertices
-  if (!onlyInitialMesh){
+  if (CTX::instance()->mesh.algo2d != ALGO_2D_BAMG && !onlyInitialMesh){
       Msg::Debug("Computing mesh size field at mesh vertices %d",
                  edgesToRecover.size());
       std::set<BDS_Point*, PointLessThan>::iterator it = m->points.begin();
diff --git a/Mesh/meshGFaceDelaunayInsertion.cpp b/Mesh/meshGFaceDelaunayInsertion.cpp
index 7deda27e56fa63a61f9822166fd170978b43b6e1..7f6b372bef9fe30388e978bf6121e9ab94feca26 100644
--- a/Mesh/meshGFaceDelaunayInsertion.cpp
+++ b/Mesh/meshGFaceDelaunayInsertion.cpp
@@ -1008,7 +1008,10 @@ static bool insertAPoint(GFace *gf,
     int index1 = data.getIndex(ptin->tri()->getVertex(1));
     int index2 = data.getIndex(ptin->tri()->getVertex(2));
     lc1 = (1. - uv[0] - uv[1]) * data.vSizes[index0] + uv[0] * data.vSizes[index1] + uv[1] * data.vSizes[index2];
-    lc = BGM_MeshSize(gf, center[0], center[1], p.x(), p.y(), p.z());
+    if (CTX::instance()->mesh.algo2d == ALGO_2D_BAMG)
+      lc = 1.;
+    else
+      lc = BGM_MeshSize(gf, center[0], center[1], p.x(), p.y(), p.z());
 
     //SMetric3 metr = BGM_MeshMetric(gf, center[0], center[1], p.x(), p.y(), p.z());
     //                               vMetricsBGM.push_back(metr);