diff --git a/contrib/MeshQualityOptimizer/MeshQualityOptimizer.cpp b/contrib/MeshQualityOptimizer/MeshQualityOptimizer.cpp
index f0ff5c58e276cc64e7421302315d6d885ff0627b..86c5b578667839bb936e227b9e022f0776d9e8cf 100644
--- a/contrib/MeshQualityOptimizer/MeshQualityOptimizer.cpp
+++ b/contrib/MeshQualityOptimizer/MeshQualityOptimizer.cpp
@@ -134,15 +134,15 @@ void MeshQualityOptimizer(GModel *gm, MeshQualOptParameters &p)
   MeshOptPass minJacPass;
   MeshOptPass minInvCondNumPass;
   if (p.onlyValidity) {
-    minJacPass.barrierIterMax = p.optPassMax;
-    minJacPass.optIterMax = p.itMax;
+    minJacPass.barrierIterMax = p.barrierIterMax;
+    minJacPass.optIterMax = p.optIterMax;
     minJacPass.contrib.push_back(&nodeDistFunc);
     minJacPass.contrib.push_back(&minIdealJacBarFunc);
     par.pass.push_back(minJacPass);
   }
   else {
-    minInvCondNumPass.barrierIterMax = p.optPassMax;
-    minInvCondNumPass.optIterMax = p.itMax;
+    minInvCondNumPass.barrierIterMax = p.barrierIterMax;
+    minInvCondNumPass.optIterMax = p.optIterMax;
     minInvCondNumPass.contrib.push_back(&nodeDistFunc);
     minInvCondNumPass.contrib.push_back(&minInvCondNumBarFunc);
     par.pass.push_back(minInvCondNumPass);
diff --git a/contrib/MeshQualityOptimizer/MeshQualityOptimizer.h b/contrib/MeshQualityOptimizer/MeshQualityOptimizer.h
index d722f456e84a20949e7408fe6004a505f839bf87..01af71cc6d48acb304a6a21324d16075a510a595 100644
--- a/contrib/MeshQualityOptimizer/MeshQualityOptimizer.h
+++ b/contrib/MeshQualityOptimizer/MeshQualityOptimizer.h
@@ -41,8 +41,8 @@ struct MeshQualOptParameters {
   double weightFree;                                                  // weight of the energy for free nodes
   int nbLayers;                                                       // number of layers taken around a bad element
   int dim;                                                            // which dimension to optimize
-  int itMax;                                                          // max number of iterations in the optimization process
-  int optPassMax;                                                     // max number of optimization passes
+  int optIterMax;                                                     // Max number of iterations in the optimization process
+  int barrierIterMax;                                                 // Max number of barrier moves ("runs")
   bool onlyVisible;                                                   // apply optimization to visible entities ONLY
   double distanceFactor;                                              // Distance criterion for patch creation
   bool fixBndNodes;                                                   // If points can move on boundaries
@@ -60,7 +60,7 @@ struct MeshQualOptParameters {
     : onlyValidity(false), excludeQuad(false),
       excludeHex(false), excludePrism(false), excludeBL(false),
       minTargetIdealJac(0.1), minTargetInvCondNum(0.1), weightFixed(1000.),
-      weightFree (1.), nbLayers (6) , dim(3) , itMax(300), optPassMax(50),
+      weightFree (1.), nbLayers (6) , dim(3) , optIterMax(300), barrierIterMax(50),
       onlyVisible(true), distanceFactor(12), fixBndNodes(false), strategy(0),
       maxAdaptBlob(3), adaptBlobLayerFact(2.), adaptBlobDistFact(2.), CPU(0.),
       minIdealJac(0.), maxIdealJac(0.), minInvCondNum(0.), maxInvCondNum(0.),