diff --git a/Mesh/Generator.cpp b/Mesh/Generator.cpp
index 276f6b84703b1fea73ffb78a4e2299a8918625a7..3bebd69de2aed13756a788be0c3ccc8673717fa5 100644
--- a/Mesh/Generator.cpp
+++ b/Mesh/Generator.cpp
@@ -616,7 +616,7 @@ void GenerateMesh(GModel *m, int ask)
   }
 
   // Subdivide into quads or hexas
-  if(m->getMeshStatus() == 2 && CTX::instance()->mesh.recombineAll &&  CTX::instance()->mesh.algoRecombine != 1) 
+  if(m->getMeshStatus() == 2 && CTX::instance()->mesh.algoSubdivide == 1) 
     RefineMesh(m, CTX::instance()->mesh.secondOrderLinear, true);
   else if(m->getMeshStatus() == 3 && CTX::instance()->mesh.algoSubdivide == 2) 
     RefineMesh(m, CTX::instance()->mesh.secondOrderLinear, false, true);