diff --git a/Mesh/QuadTriExtruded2D.cpp b/Mesh/QuadTriExtruded2D.cpp
index c154e95537f0424de17e142c43f022e2e8436955..d74fce116bd60fbd97edd2a0e7a7518ccd86568e 100644
--- a/Mesh/QuadTriExtruded2D.cpp
+++ b/Mesh/QuadTriExtruded2D.cpp
@@ -172,18 +172,18 @@ int IsValidQuadToTriLateral(GFace *face, int *tri_quad_flag, bool *detectQuadToT
     }
     // if both neighbors are structured but none of the previous apply:
     else if( adj_ep && adj_ep->mesh.ExtrudeMesh ){
-      if( adj_ep && !adj_ep->mesh.QuadToTri && adj_ep->mesh.Recombine ||
-              ep && !ep->mesh.QuadToTri && ep->mesh.Recombine )
+      if( (adj_ep && !adj_ep->mesh.QuadToTri && adj_ep->mesh.Recombine) ||
+          (ep && !ep->mesh.QuadToTri && ep->mesh.Recombine) )
         (*tri_quad_flag) = 1;
-      else if( adj_ep && !adj_ep->mesh.QuadToTri && !adj_ep->mesh.Recombine ||
-                   ep && !ep->mesh.QuadToTri && !ep->mesh.Recombine )
+      else if( (adj_ep && !adj_ep->mesh.QuadToTri && !adj_ep->mesh.Recombine) ||
+               (ep && !ep->mesh.QuadToTri && !ep->mesh.Recombine) )
         (*tri_quad_flag) = 2;
       // if both are quadToTri and either are quadToTri recomblaterals, recombine
       else if( ep->mesh.QuadToTri == QUADTRI_SNGL_1_RECOMB ||
-               adj_ep && adj_ep->mesh.QuadToTri == QUADTRI_SNGL_1_RECOMB )
+               (adj_ep && adj_ep->mesh.QuadToTri == QUADTRI_SNGL_1_RECOMB) )
         (*tri_quad_flag) = 1;
       else if( ep->mesh.QuadToTri == QUADTRI_DBL_1_RECOMB ||
-               adj_ep && adj_ep->mesh.QuadToTri == QUADTRI_DBL_1_RECOMB )
+               (adj_ep && adj_ep->mesh.QuadToTri == QUADTRI_DBL_1_RECOMB) )
         (*tri_quad_flag) = 1;
       else
         (*tri_quad_flag) = 2;
diff --git a/Mesh/QuadTriExtruded3D.cpp b/Mesh/QuadTriExtruded3D.cpp
index 3b33a52950c279020177003abef52121f7e6311d..bb563361e2acf58d20bcfae2104166442472b67c 100644
--- a/Mesh/QuadTriExtruded3D.cpp
+++ b/Mesh/QuadTriExtruded3D.cpp
@@ -311,9 +311,9 @@ bool IsValidQuadToTriRegion(GRegion *region, bool *allNonGlobalSharedLaterals)
           GetNeighborRegionsOfFace(*it, neighbors) > 1 ){
         GRegion *other_region = neighbors[0] != region ? neighbors[0] : neighbors[1];
         ExtrudeParams *oth_ep = other_region->meshAttributes.extrude;
-        if( ep && ep->mesh.ExtrudeMesh && !ep->mesh.Recombine ||
-            oth_ep && oth_ep->mesh.ExtrudeMesh && !oth_ep->mesh.Recombine &&
-             IsSurfaceALateralForRegion(other_region, *it) )
+        if( (ep && ep->mesh.ExtrudeMesh && !ep->mesh.Recombine) ||
+            (oth_ep && oth_ep->mesh.ExtrudeMesh && !oth_ep->mesh.Recombine &&
+             IsSurfaceALateralForRegion(other_region, *it)) )
           (*allNonGlobalSharedLaterals) = false;
       }
     }
@@ -432,10 +432,10 @@ static std::map<std::string, std::vector<int> > getFaceTypes(GRegion *gr, MEleme
       face_types["degen"].push_back(p);
     }
     // is face a single triangle?
-    else if( verts[p] == verts[n_lat+p] &&
-             verts[p2] != verts[n_lat+p2] ||
-             verts[p] != verts[n_lat+p] &&
-             verts[p2] == verts[n_lat+p2] ){
+    else if( (verts[p] == verts[n_lat+p] &&
+              verts[p2] != verts[n_lat+p2]) ||
+             (verts[p] != verts[n_lat+p] &&
+              verts[p2] == verts[n_lat+p2]) ){
       face_types["single_tri"].push_back(p);
     }
     // is face a recombined quad?
@@ -470,7 +470,7 @@ static std::map<std::string, std::vector<int> > getFaceTypes(GRegion *gr, MEleme
     //  not in the top quadToTri layer:
     // then the face is a recombined quad (QuadToTri only used in recombined extrusions).
     else if( !touch_bnd[p] &&
-             ( j < j_top_start || j == j_top_start && k < k_top_start ) )
+             ( j < j_top_start || (j == j_top_start && k < k_top_start) ) )
       face_types["recomb"].push_back(p);
 
     // Face is possibly free...will need to do tests after this loop is complete to
@@ -492,7 +492,7 @@ static std::map<std::string, std::vector<int> > getFaceTypes(GRegion *gr, MEleme
     v_bot[0] = verts[0]; v_bot[1] = verts[1];
     v_bot[2] = verts[2]; v_bot[3] = verts[3];
     // is forbidden?
-    if ( j == 0 && k == 0 || forbiddenExists( v_bot, forbidden_edges ) )
+    if ( (j == 0 && k == 0) || forbiddenExists( v_bot, forbidden_edges ) )
       face_types["recomb"].push_back(4);
     else if( edgeExists( verts[0], verts[2], quadToTri_edges ) ){
       nfix1[4] = 0; nfix2[4] = 2;
@@ -767,8 +767,8 @@ static void bruteForceEdgeQuadToTriPrism( GRegion *gr, MElement *elem,
         n1[p] = nadj1[p]; n2[p] = nadj2[p];
       }
       // choose lowest vertex for t < 3, any vertex for t == 3
-      else if( t >= 1 && t < 3 && nadj1[p] >= 0 ||
-               t == 2 && free_flag[p] ){
+      else if( (t >= 1 && t < 3 && nadj1[p] >= 0) ||
+               (t == 2 && free_flag[p]) ){
         if( verts[p] < verts[(p+1)%3] &&
              verts[p] < verts[p+3] ||
             verts[(p+1)%3+3] < verts[(p+1)%3] &&
@@ -779,7 +779,7 @@ static void bruteForceEdgeQuadToTriPrism( GRegion *gr, MElement *elem,
           n1[p] = p+3; n2[p] = (p+1)%3;
         }
       }
-      else if( t==3 && (nadj1[p] >= 0 || free_flag[p]) )
+      else if( (t==3 && (nadj1[p] >= 0) || free_flag[p]) )
         face_is_free[p] = true;
     }
 
@@ -845,7 +845,7 @@ static void bruteForceEdgeQuadToTriPrism( GRegion *gr, MElement *elem,
     // At this point, can break out if valid_division... OR if there is NO valid division AND
     // if num_fixed_diag == 3, or 2 and a recomb
     // break out of loop. This will need an internal vertex.
-    if( valid_division || !valid_division && num_fixed_diag + num_recomb == 3 )
+    if( valid_division || (!valid_division && num_fixed_diag + num_recomb == 3) )
       break;
 
   } // end of outer t-loop
@@ -985,13 +985,13 @@ static void addEdgesForQuadToTriTwoPtDegenHexa( GRegion *gr, MElement *elem, Ext
         *n1_tmp = nadj1[p_tmp]; *n2_tmp = nadj2[p_tmp];
       }
       // choose lowest vertex for t < 3, non-lowest vertex for t == 3
-      else if( t >= 1 && t < 3 && nadj1[p_tmp] >= 0 ||
-               t == 2 && free_flag[p_tmp] ){
+      else if( (t >= 1 && t < 3 && nadj1[p_tmp] >= 0) ||
+               (t == 2 && free_flag[p_tmp]) ){
         if( p_tmp < 4 ){
-          if( verts[p_tmp] < verts[(p_tmp+1)%4] &&
-              verts[p_tmp] < verts[p_tmp+4] ||
-              verts[(p_tmp+1)%4+4] < verts[(p_tmp+1)%4] &&
-              verts[(p_tmp+1)%4+4] < verts[p_tmp+4] ){
+          if( (verts[p_tmp] < verts[(p_tmp+1)%4] &&
+               verts[p_tmp] < verts[p_tmp+4]) ||
+              (verts[(p_tmp+1)%4+4] < verts[(p_tmp+1)%4] &&
+               verts[(p_tmp+1)%4+4] < verts[p_tmp+4]) ){
             *n1_tmp = p_tmp; *n2_tmp = (p_tmp+1)%4+4;
           }
           else{
@@ -1000,8 +1000,8 @@ static void addEdgesForQuadToTriTwoPtDegenHexa( GRegion *gr, MElement *elem, Ext
         }
         else{
           int add = p_tmp==4 ? 0 : 4;
-          if( verts[0+add] < verts[1+add] && verts[0+add] < verts[3+add] ||
-              verts[2+add] < verts[1+add] && verts[2+add] < verts[3+add] ){
+          if( (verts[0+add] < verts[1+add] && verts[0+add] < verts[3+add]) ||
+              (verts[2+add] < verts[1+add] && verts[2+add] < verts[3+add]) ){
             *n1_tmp = 0+add; *n2_tmp = 2+add;
           }
           else{
@@ -1020,8 +1020,8 @@ static void addEdgesForQuadToTriTwoPtDegenHexa( GRegion *gr, MElement *elem, Ext
     if( ( n1_top >= 0 || p_top_is_free ) &&
         ( n1_bot >= 0 || p_bot_is_free ) ){
       if( p_top_is_free && p_bot_is_free ){
-        if( verts[4] < verts[5] && verts[4] < verts[7] ||
-            verts[6] < verts[5] && verts[6] < verts[7] ){
+        if( (verts[4] < verts[5] && verts[4] < verts[7]) ||
+            (verts[6] < verts[5] && verts[6] < verts[7]) ){
           n1_top = 4; n2_top = 6;
         }
         else{
@@ -1058,8 +1058,8 @@ static void addEdgesForQuadToTriTwoPtDegenHexa( GRegion *gr, MElement *elem, Ext
         ( n1_lat >= 0 || p_lat_is_free ) ){
 
       if( p_top_is_free && p_lat_is_free ){
-        if( verts[4] < verts[5] && verts[4] < verts[7] ||
-            verts[6] < verts[5] && verts[6] < verts[7] ){
+        if( (verts[4] < verts[5] && verts[4] < verts[7]) ||
+            (verts[6] < verts[5] && verts[6] < verts[7]) ){
           n1_top = 4; n2_top = 6;
         }
         else{
@@ -1117,8 +1117,8 @@ static void addEdgesForQuadToTriTwoPtDegenHexa( GRegion *gr, MElement *elem, Ext
         ( n1_lat >= 0 || p_lat_is_free ) ){
 
       if( p_bot_is_free && p_lat_is_free ){
-        if( verts[0] < verts[1] && verts[0] < verts[3] ||
-            verts[2] < verts[1] && verts[2] < verts[3] ){
+        if( (verts[0] < verts[1] && verts[0] < verts[3]) ||
+            (verts[2] < verts[1] && verts[2] < verts[3]) ){
           n1_bot = 0; n2_bot = 2;
         }
         else{
@@ -1300,13 +1300,13 @@ static void addEdgesForQuadToTriOnePtDegenHexa( GRegion *gr, MElement *elem, Ext
         *n1_tmp = nadj1[p_tmp]; *n2_tmp = nadj2[p_tmp];
       }
       // choose lowest vertex for t < 3, any vertex for t == 3
-      else if( t >= 1 && t < 3 && nadj1[p_tmp] >= 0 ||
-               t == 2 && free_flag[p_tmp] ){
+      else if( (t >= 1 && t < 3 && nadj1[p_tmp] >= 0) ||
+               (t == 2 && free_flag[p_tmp]) ){
         if( p_tmp < 4 ){
-          if( verts[p_tmp] < verts[(p_tmp+1)%4] &&
-               verts[p_tmp] < verts[p_tmp+4] ||
-              verts[(p_tmp+1)%4+4] < verts[(p_tmp+1)%4] &&
-               verts[(p_tmp+1)%4+4] < verts[p_tmp+4] ){
+          if( (verts[p_tmp] < verts[(p_tmp+1)%4] &&
+               verts[p_tmp] < verts[p_tmp+4]) ||
+              (verts[(p_tmp+1)%4+4] < verts[(p_tmp+1)%4] &&
+               verts[(p_tmp+1)%4+4] < verts[p_tmp+4]) ){
             *n1_tmp = p_tmp; *n2_tmp = (p_tmp+1)%4+4;
           }
           else{
@@ -1315,8 +1315,8 @@ static void addEdgesForQuadToTriOnePtDegenHexa( GRegion *gr, MElement *elem, Ext
         }
         else{
           int add = p_tmp==4 ? 0 : 4;
-          if( verts[0+add] < verts[1+add] && verts[0+add] < verts[3+add] ||
-              verts[2+add] < verts[1+add] && verts[2+add] < verts[3+add] ){
+          if( (verts[0+add] < verts[1+add] && verts[0+add] < verts[3+add]) ||
+              (verts[2+add] < verts[1+add] && verts[2+add] < verts[3+add]) ){
             *n1_tmp = 0+add; *n2_tmp = 2+add;
           }
           else{
@@ -1334,8 +1334,8 @@ static void addEdgesForQuadToTriOnePtDegenHexa( GRegion *gr, MElement *elem, Ext
     if( !valid_division ){
       // assign diagonals to the 'free' faces from above
       if( p_top_is_free && p_bot_is_free ){
-        if( verts[0] < verts[1] && verts[0] < verts[3] ||
-            verts[2] < verts[1] && verts[2] < verts[3] ){
+        if( (verts[0] < verts[1] && verts[0] < verts[3]) ||
+            (verts[2] < verts[1] && verts[2] < verts[3]) ){
           n1_bot = 0; n2_bot = 2;
         }
         else{
@@ -1417,7 +1417,7 @@ static void addEdgesForQuadToTriOnePtDegenHexa( GRegion *gr, MElement *elem, Ext
     // Pyramid top on corner NOT opposite to degenerate corner
     if( !valid_division ){
       // pyramid top on top face
-      if( n1_top >= 0 && n1_top != (degen_ind+2)%4+4 && n2_top != (degen_ind+2)%4+4 ||
+      if( (n1_top >= 0 && n1_top != (degen_ind+2)%4+4 && n2_top != (degen_ind+2)%4+4) ||
           p_top_is_free ){
         if( n1_lat1 == (degen_ind+1)%4+4 || p_lat1_is_free ){
           valid_division = true;
@@ -1447,8 +1447,8 @@ static void addEdgesForQuadToTriOnePtDegenHexa( GRegion *gr, MElement *elem, Ext
         }
       }
       // pyramid top on bottom face
-      if( !valid_division && n1_bot >= 0 &&
-          n1_bot != (degen_ind+2)%4 && n2_bot != (degen_ind+2)%4 ||
+      if( (!valid_division && n1_bot >= 0 &&
+           n1_bot != (degen_ind+2)%4 && n2_bot != (degen_ind+2)%4) ||
           p_bot_is_free ){
         if( n1_lat1 == (degen_ind+1)%4 || p_lat1_is_free ){
           valid_division = true;
@@ -1629,13 +1629,13 @@ static void addEdgesForQuadToTriFullHexa( GRegion *gr, MElement *elem, ExtrudePa
         n1[p] = nadj1[p]; n2[p] = nadj2[p];
       }
       // choose lowest vertex for t < 3, any vertex for t == 3
-      else if( t >= 1 && t < 3 && nadj1[p] >= 0 ||
-               t == 2 && free_flag[p] ){
+      else if( (t >= 1 && t < 3 && nadj1[p] >= 0) ||
+               (t == 2 && free_flag[p]) ){
         if( p < 4 ){
-          if( verts[p] < verts[(p+1)%4] &&
-               verts[p] < verts[p+4] ||
-              verts[(p+1)%4+4] < verts[(p+1)%4] &&
-               verts[(p+1)%4+4] < verts[p+4] ){
+          if( (verts[p] < verts[(p+1)%4] &&
+               verts[p] < verts[p+4]) ||
+              (verts[(p+1)%4+4] < verts[(p+1)%4] &&
+               verts[(p+1)%4+4] < verts[p+4]) ){
             n1[p] = p; n2[p] = (p+1)%4+4;
           }
           else{
@@ -1644,8 +1644,8 @@ static void addEdgesForQuadToTriFullHexa( GRegion *gr, MElement *elem, ExtrudePa
         }
         else{
           int add = p==4 ? 0 : 4;
-          if( verts[0+add] < verts[1+add] && verts[0+add] < verts[3+add] ||
-              verts[2+add] < verts[1+add] && verts[2+add] < verts[3+add] ){
+          if( (verts[0+add] < verts[1+add] && verts[0+add] < verts[3+add]) ||
+              (verts[2+add] < verts[1+add] && verts[2+add] < verts[3+add]) ){
             n1[p] = 0+add; n2[p] = 2+add;
           }
           else{
@@ -1695,9 +1695,9 @@ static void addEdgesForQuadToTriFullHexa( GRegion *gr, MElement *elem, ExtrudePa
         if( face_is_free[p1] && face_is_free[p2] ){
           face_is_free[p1] = false;
           if( p1 < 4 ){
-            if( verts[p1] < verts[p1+4] && verts[p1] < verts[(p1+1)%4] ||
-                verts[(p1+1)%4+4] < verts[p1+4] &&
-                 verts[(p1+1)%4+4] < verts[(p1+1)%4] ){
+            if( (verts[p1] < verts[p1+4] && verts[p1] < verts[(p1+1)%4]) ||
+                (verts[(p1+1)%4+4] < verts[p1+4] &&
+                 verts[(p1+1)%4+4] < verts[(p1+1)%4]) ){
               n1[p1] = p1;
               n2[p1] = (p1+1)%4+4;
             }
@@ -1708,8 +1708,8 @@ static void addEdgesForQuadToTriFullHexa( GRegion *gr, MElement *elem, ExtrudePa
           }
           else{
             int add = p1==4 ? 0 : 4;
-            if( verts[0+add] < verts[1+add] && verts[0+add] < verts[3+add] ||
-                verts[2+add] < verts[1+add] && verts[2+add] < verts[3+add] ){
+            if( (verts[0+add] < verts[1+add] && verts[0+add] < verts[3+add]) ||
+                (verts[2+add] < verts[1+add] && verts[2+add] < verts[3+add]) ){
               n1[p1] = 0+add;
               n2[p1] = 2+add;
             }
@@ -1788,7 +1788,7 @@ static void addEdgesForQuadToTriFullHexa( GRegion *gr, MElement *elem, ExtrudePa
 
         // Test 1: Another set of opposite, aligned diagonals.
         for( int s = 0; s < 3; s++ ){
-          if( s == p1 || s>1 && (p1==4 || p1==5) )
+          if( s == p1 || (s>1 && (p1==4 || p1==5)) )
             continue;
           int s1, s2;
           if( s > 1){
@@ -1798,15 +1798,15 @@ static void addEdgesForQuadToTriFullHexa( GRegion *gr, MElement *elem, ExtrudePa
             s1 = s; s2 = (s+2)%4;
           }
           // if these two faces do not work for opposite aligned diagonals, continue
-          if( n1[s1] < 0 && !face_is_free[s1] ||
-              n1[s2] < 0 && !face_is_free[s2] )
+          if( (n1[s1] < 0 && !face_is_free[s1]) ||
+              (n1[s2] < 0 && !face_is_free[s2]) )
             continue;
           if( n1[s1] >= 0 && n1[s2] >= 0 ){
             if( s1 < 4 ){
-              if( ( n1[s1] == s1 || n2[s1] == s1 ) &&
-                    n1[s2] != s2+4 && n2[s2] != s2+4 ||
-                  ( n1[s1] == s1+4 || n2[s1] == s1+4 ) &&
-                    n1[s2] != s2 && n2[s2] != s2 )
+              if( ( ( n1[s1] == s1 || n2[s1] == s1 ) &&
+                    n1[s2] != s2+4 && n2[s2] != s2+4 ) ||
+                  ( ( n1[s1] == s1+4 || n2[s1] == s1+4 ) &&
+                    n1[s2] != s2 && n2[s2] != s2 ) )
                 continue;
             }
             else{
@@ -1826,9 +1826,9 @@ static void addEdgesForQuadToTriFullHexa( GRegion *gr, MElement *elem, ExtrudePa
           if( face_is_free[s1] && face_is_free[s2] ){
             face_is_free[s1] = false;
             if( s1 < 4 ){
-              if( verts[s1] < verts[s1+4] && verts[s1] < verts[(s1+1)%4] ||
-                  verts[(s1+1)%4+4] < verts[s1+4] &&
-                   verts[(s1+1)%4+4] < verts[(s1+1)%4] ){
+              if( (verts[s1] < verts[s1+4] && verts[s1] < verts[(s1+1)%4]) ||
+                  (verts[(s1+1)%4+4] < verts[s1+4] &&
+                   verts[(s1+1)%4+4] < verts[(s1+1)%4]) ){
                 n1[s1] = s1;
                 n2[s1] = (s1+1)%4+4;
               }
@@ -1839,8 +1839,8 @@ static void addEdgesForQuadToTriFullHexa( GRegion *gr, MElement *elem, ExtrudePa
             }
             else{
               int add = s1==4 ? 0 : 4;
-              if( verts[0+add] < verts[1+add] && verts[0+add] < verts[3+add] ||
-                  verts[2+add] < verts[1+add] && verts[2+add] < verts[3+add] ){
+              if( (verts[0+add] < verts[1+add] && verts[0+add] < verts[3+add]) ||
+                  (verts[2+add] < verts[1+add] && verts[2+add] < verts[3+add]) ){
                 n1[s1] = 0+add;
                 n2[s1] = 2+add;
               }
@@ -2150,8 +2150,8 @@ static void bruteForceEdgeQuadToTriHexa( GRegion *gr, MElement *elem,
   }
 
   // test for right number of triangles with degenerate edges
-  if( face_types["single_tri"].size() != 0 && face_types["single_tri"].size() != 2 ||
-      face_types["degen"].size() && face_types["single_tri"].size() != 2 ){
+  if( (face_types["single_tri"].size() != 0 && face_types["single_tri"].size() != 2) ||
+      (face_types["degen"].size() && face_types["single_tri"].size() != 2) ){
     Msg::Error("In bruteForceEdgeQuadToTriHexa(), bad degenerated extrusion encountered.");
     std::pair<unsigned int, unsigned int> jkpair(j,k);
     problems[elem].insert(jkpair);
@@ -2273,8 +2273,8 @@ static int ExtrudeDiags( GRegion *gr, std::vector<MVertex*> v, unsigned int j_st
   }
 
   int elem_size = elem->getNumVertices();
-  if( !( v.size() == 6 && elem_size == 3 ||
-         v.size() == 8 && elem_size == 4 ) ){
+  if( !( (v.size() == 6 && elem_size == 3) ||
+         (v.size() == 8 && elem_size == 4) ) ){
     Msg::Error("In ExtrudeDiags(), vertex number mismatch "
                "between 2D source element and extruded volume.");
     return 0;
@@ -2465,9 +2465,9 @@ static bool QuadToTriGetRegionDiags(GRegion *gr,
       // see if the diagonals are fixed for other reasons
       if( !( face_ep_tmp && face_ep_tmp->mesh.ExtrudeMesh &&
              face_ep_tmp->geo.Mode == EXTRUDED_ENTITY ) ||
-          other_region && oth_ep && oth_ep->mesh.ExtrudeMesh &&
-            (*it) == model->getFaceByTag( std::abs( oth_ep->geo.Source ) ) ||
-          other_region && other_region->meshAttributes.Method == MESH_TRANSFINITE ){
+          (other_region && oth_ep && oth_ep->mesh.ExtrudeMesh &&
+           (*it) == model->getFaceByTag( std::abs( oth_ep->geo.Source ) ) ) ||
+          (other_region && other_region->meshAttributes.Method == MESH_TRANSFINITE) ){
         is_fixed = true;
       }
 
@@ -3369,9 +3369,11 @@ static int makeEdgesForOtherBndHexa( GRegion *gr, bool is_dbl, CategorizedSource
     return 0;
   }
 
-  // no need to do this if there are no lateral surface diagonals and if not a rotation with quadrangles.
-  if( !lat_tri_diags.size() && ( !reg_source->quadrangles.size() ||
-      ep->geo.Type != ROTATE && ep->geo.Type != TRANSLATE_ROTATE ) )
+  // no need to do this if there are no lateral surface diagonals and if not a
+  // rotation with quadrangles.
+  if( !lat_tri_diags.size() &&
+      ( !reg_source->quadrangles.size() ||
+        (ep->geo.Type != ROTATE && ep->geo.Type != TRANSLATE_ROTATE) ) )
     return 1;
 
   int j_top_start, k_top_start;
@@ -4019,12 +4021,13 @@ static bool addFaceOrBodyCenteredVertices( GRegion *to, CategorizedSourceElement
           else if( edgeExists( verts3D[p+elem_size], verts3D[(p+1)%elem_size], quadToTri_edges ) )
             found_diags = true;
         }
-        // triangle extrusions don't need face centered verts if NO diags found or if not on lateral boundary
+        // triangle extrusions don't need face centered verts if NO diags found
+        // or if not on lateral boundary
         if( !t && ( !found_diags || s==2 ) )
           continue;
 
         int j_start, k_start;
-        if( s < 2 && found_diags || degen_hex ){
+        if( (s < 2 && found_diags) || degen_hex ){
           j_start = 0;
           k_start = 0;
         }
@@ -4076,7 +4079,7 @@ static void MeshWithInternalVertex( GRegion *to, MElement *source, std::vector<M
 
   const int n_lat = n_lat_tmp;
 
-  if( n_lat == 3 && n1.size() != 3 || n_lat == 4 && n2.size() != 6 ){
+  if( (n_lat == 3 && n1.size() != 3) || (n_lat == 4 && n2.size() != 6) ){
     Msg::Error("In MeshWithInternalVertex(), size of diagonal node vectors is not does not equal 3 or 6.");
     return;
   }
@@ -4175,7 +4178,7 @@ static void MeshWithFaceCenteredVertex( GRegion *to, MElement *source, std::vect
     return;
   }
 
-  if( n_lat == 3 && n1.size() != 3 || n_lat == 4 && n2.size() != 6 ){
+  if( (n_lat == 3 && n1.size() != 3) || (n_lat == 4 && n2.size() != 6) ){
     Msg::Error("In MeshWithFaceCenteredVertex(), size of diagonal node vectors is not does not equal 3 or 6.");
     return;
   }
@@ -4183,7 +4186,7 @@ static void MeshWithFaceCenteredVertex( GRegion *to, MElement *source, std::vect
   std::vector<MVertex *> face_vertices;
   // create the face-centered vertices
   for( int s = 0; s < 2; s++ ){
-    if( !s && !bottom_flag || s && !top_flag )
+    if( (!s && !bottom_flag) || (s && !top_flag) )
       continue;
     std::vector<MVertex *> v_face;
     v_face.assign(n_lat, (MVertex*)(NULL) );
@@ -4985,7 +4988,7 @@ static inline bool createFullHexElems( std::vector<MVertex*> &v, GRegion *to, Ex
     // to keep sanity.
     // p0 always refereces a vertex position on a slicing diagonal (see ascii diagram above again.
     int p0;
-    if( n_div1 > 3 && n_div2 < 4 || n_div1 < 4 && n_div2 > 3 ){
+    if( (n_div1 > 3 && n_div2 < 4) || (n_div1 < 4 && n_div2 > 3) ){
       p0 = n_div1 < 4 ? p : (p+2)%4;
       prism_v[0][0] = p0; prism_v[0][1] = (p0+1)%4; prism_v[0][2] = (p0+1)%4+4;
       prism_v[0][3] = (p0+3)%4; prism_v[0][4] = (p0+2)%4; prism_v[0][5] = (p0+2)%4+4;
@@ -5051,8 +5054,8 @@ static inline bool createFullHexElems( std::vector<MVertex*> &v, GRegion *to, Ex
 
     // if 2nd prism needs the internal diagonal to work, check to see if the internal
     // diagonal exists and, if so, if it is consistent.  If it doesn't exist, make it
-    if( ( ext_diag[1][0][0] != ext_diag[1][1][0] || ext_diag[1][0][0] < 0 &&
-          ext_diag[1][1][0] < 0 ) &&
+    if( ( ext_diag[1][0][0] != ext_diag[1][1][0] || (ext_diag[1][0][0] < 0 &&
+                                                     ext_diag[1][1][0] < 0) ) &&
         intern_diag[0] >= 0 && intern_diag[0] != ext_diag[1][0][1] &&
         intern_diag[0] != ext_diag[1][1][1] && intern_diag[1] != ext_diag[1][0][1] &&
         intern_diag[1] != ext_diag[1][1][1] ) {
@@ -5076,10 +5079,11 @@ static inline bool createFullHexElems( std::vector<MVertex*> &v, GRegion *to, Ex
         intern_diag[1] = 0;
     }
 
-    // this check sees if the internal shared prism face is diagonalized, but one prism has no other diags
+    // this check sees if the internal shared prism face is diagonalized, but
+    // one prism has no other diags
     if( intern_diag[0] >= 0 &&
-        ( ext_diag[0][0][0] < 0 && ext_diag[0][1][0] < 0 ||
-          ext_diag[1][0][0] < 0 && ext_diag[1][1][0] < 0 ) ){
+        ( (ext_diag[0][0][0] < 0 && ext_diag[0][1][0] < 0) ||
+          (ext_diag[1][0][0] < 0 && ext_diag[1][1][0] < 0) ) ){
       continue;
     }
 
diff --git a/Mesh/QuadTriUtils.cpp b/Mesh/QuadTriUtils.cpp
index 84cc192a82f7e65fce0a660c3c7a573214051a73..cb3b19226b4530b46b019003b56bb0a7bcf0b16b 100644
--- a/Mesh/QuadTriUtils.cpp
+++ b/Mesh/QuadTriUtils.cpp
@@ -200,7 +200,7 @@ CategorizedSourceElements::CategorizedSourceElements( GRegion *gr )
       else if( bnd_count == 1 || bnd_count == 2 ||
               (bnd_count == 3 && t) )
         (!t) ? other_bnd_tri.insert(i) : other_bnd_quad.insert(i);
-      else if( bnd_count == 3 && !t || bnd_count == 4 ){
+      else if( (bnd_count == 3 && !t) || bnd_count == 4 ){
         (!t) ? three_bnd_pt_tri.insert(i) : four_bnd_pt_quad.insert(i);
       }
 
diff --git a/Mesh/meshGFaceExtruded.cpp b/Mesh/meshGFaceExtruded.cpp
index 62085422e3b45448332b49447615b48617849403..2b2b2de0e529da8de2211f4d3a149a90aeef8b3c 100644
--- a/Mesh/meshGFaceExtruded.cpp
+++ b/Mesh/meshGFaceExtruded.cpp
@@ -14,13 +14,13 @@
 #include "QuadTriExtruded2D.h"
 
 static void addTriangle(MVertex* v1, MVertex* v2, MVertex* v3,
-                        GFace *to) 
+                        GFace *to)
 {
   to->triangles.push_back(new MTriangle(v1, v2, v3));
 }
 
 static void addQuadrangle(MVertex* v1, MVertex* v2, MVertex* v3, MVertex* v4,
-                          GFace *to) 
+                          GFace *to)
 {
   to->quadrangles.push_back(new MQuadrangle(v1, v2, v3, v4));
 }
@@ -38,7 +38,7 @@ static void createQuaTri(std::vector<MVertex*> &v, GFace *to,
     Msg::Error("Uncoherent extruded quadrangle in surface %d", to->tag());
   else{
     // Trevor Strickler added the tri_quad_flag stuff here.
-    if(ep->mesh.Recombine && tri_quad_flag != 2 || tri_quad_flag == 1){
+    if((ep->mesh.Recombine && tri_quad_flag != 2) || tri_quad_flag == 1){
       addQuadrangle(v[0], v[1], v[3], v[2], to);
     }
     else if(!constrainedEdges){
@@ -146,7 +146,7 @@ static void copyMesh(GFace *from, GFace *to,
   for(unsigned int i = 0; i < from->mesh_vertices.size(); i++){
     MVertex *v = from->mesh_vertices[i];
     double x = v->x(), y = v->y(), z = v->z();
-    ep->Extrude(ep->mesh.NbLayer - 1, ep->mesh.NbElmLayer[ep->mesh.NbLayer - 1], 
+    ep->Extrude(ep->mesh.NbLayer - 1, ep->mesh.NbElmLayer[ep->mesh.NbLayer - 1],
                 x, y, z);
     MVertex *newv = new MVertex(x, y, z, to);
     to->mesh_vertices.push_back(newv);
@@ -192,7 +192,7 @@ static void copyMesh(GFace *from, GFace *to,
       Msg::Error("In MeshExtrudedSurface()::copyMesh(), mesh of QuadToTri top "
                  "surface %d failed.", to->tag() );
     return;
-  } 
+  }
 
   for(unsigned int i = 0; i < from->quadrangles.size(); i++){
     std::vector<MVertex*> verts;
@@ -207,7 +207,7 @@ static void copyMesh(GFace *from, GFace *to,
         itp = tmp.linearSearch(pos);
       }
       if(itp == pos.end()) {
-        Msg::Error("Could not find extruded vertex (%.16g, %.16g, %.16g) in surface %d", 
+        Msg::Error("Could not find extruded vertex (%.16g, %.16g, %.16g) in surface %d",
             tmp.x(), tmp.y(), tmp.z(), to->tag());
         return;
       }
@@ -217,7 +217,7 @@ static void copyMesh(GFace *from, GFace *to,
   }
 }
 
-int MeshExtrudedSurface(GFace *gf, 
+int MeshExtrudedSurface(GFace *gf,
                         std::set<std::pair<MVertex*, MVertex*> > *constrainedEdges)
 {
   ExtrudeParams *ep = gf->meshAttributes.extrude;
@@ -228,7 +228,7 @@ int MeshExtrudedSurface(GFace *gf,
   Msg::Info("Meshing surface %d (extruded)", gf->tag());
 
   // build a set with all the vertices on the boundary of the face gf
-  double old_tol = MVertexLessThanLexicographic::tolerance; 
+  double old_tol = MVertexLessThanLexicographic::tolerance;
   MVertexLessThanLexicographic::tolerance = 1.e-12 * CTX::instance()->lc;
 
   std::set<MVertex*, MVertexLessThanLexicographic> pos;
@@ -247,7 +247,7 @@ int MeshExtrudedSurface(GFace *gf,
   // exist on the face--so we add them to the set
   if(constrainedEdges)
     pos.insert(gf->mesh_vertices.begin(), gf->mesh_vertices.end());
-  
+
   if(ep->geo.Mode == EXTRUDED_ENTITY) {
     // surface is extruded from a curve
     GEdge *from = gf->model()->getEdgeByTag(std::abs(ep->geo.Source));
@@ -260,7 +260,7 @@ int MeshExtrudedSurface(GFace *gf,
   else {
     // surface is a copy of another surface (the "top" of the extrusion)
     GFace *from = gf->model()->getFaceByTag(std::abs(ep->geo.Source));
-    if(!from){ 
+    if(!from){
       Msg::Error("Unknown source surface %d for extrusion", ep->geo.Source);
       exit(1);
       return 0;
@@ -274,7 +274,7 @@ int MeshExtrudedSurface(GFace *gf,
     copyMesh(from, gf, pos);
   }
 
-  MVertexLessThanLexicographic::tolerance = old_tol; 
+  MVertexLessThanLexicographic::tolerance = old_tol;
 
   gf->meshStatistics.status = GFace::DONE;
   return 1;
diff --git a/Mesh/meshGRegionTransfinite.cpp b/Mesh/meshGRegionTransfinite.cpp
index 9249fe21b16d97a1028d8e3c93f8976e362ac03e..0cab3cf5290c9f9f8f58f2a26bdc46587347300d 100644
--- a/Mesh/meshGRegionTransfinite.cpp
+++ b/Mesh/meshGRegionTransfinite.cpp
@@ -19,22 +19,22 @@
 #include "GmshMessage.h"
 #include "QuadTriTransfinite3D.h"
 
-/*  
+/*
   Transfinite volume meshes
 
-                     a0   s0 s1  f0  s0 s1 s5 s4              s6      
-   s7        s6      a1   s1 s2  f1  s1 s2 s6 s5              *       
-     *-------*       a2   s3 s2  f2  s3 s2 s6 s7             /|\      
-     |\s4    |\      a3   s0 s3  f3  s0 s3 s7 s4            / | \     
-     | *-------* s5  a4   s4 s5  f4  s0 s1 s2 s3      s7/s4/  |s2\    
+                     a0   s0 s1  f0  s0 s1 s5 s4              s6
+   s7        s6      a1   s1 s2  f1  s1 s2 s6 s5              *
+     *-------*       a2   s3 s2  f2  s3 s2 s6 s7             /|\
+     |\s4    |\      a3   s0 s3  f3  s0 s3 s7 s4            / | \
+     | *-------* s5  a4   s4 s5  f4  s0 s1 s2 s3      s7/s4/  |s2\
      | |   s2| |     a5   s5 s6  f5  s4 s5 s6 s7          *---*---* s5
-  s3 *-|-----* |     a6   s7 s6                           |  / \  |   
-      \|      \|     a7   s4 s7                           | /   \ |   
-       *-------*     a8   s0 s4                           |/     \|   
- v w  s0       s1    a9   s1 s5                           *-------*     
-  \|                 a10  s2 s6                  v w    s3/s0     s1    
-   *--u              a11  s3 s7                   \|                 
-                                                   *--u              
+  s3 *-|-----* |     a6   s7 s6                           |  / \  |
+      \|      \|     a7   s4 s7                           | /   \ |
+       *-------*     a8   s0 s4                           |/     \|
+ v w  s0       s1    a9   s1 s5                           *-------*
+  \|                 a10  s2 s6                  v w    s3/s0     s1
+   *--u              a11  s3 s7                   \|
+                                                   *--u
   Important limitations:
 
   - only works with 5- or 6-face volumes
@@ -43,7 +43,7 @@
 
   - the definition of a 5-face volume has to follow the ordering given
     in the figure above (degenerescence has to be along s0,s4)
-   
+
   - meshing a volume with prisms or tetrahedra assumes that the
     triangular mesh is consistent with the volume mesh: there is no
     coherence check in the volume algorithm to ensure that edges will
@@ -103,12 +103,12 @@
                                       tab[i + 1][j + 1][k + 1], \
                                       tab[i + 1][j + 1][k    ])
 
-static double transfiniteHex(double f1, double f2, double f3, double f4, 
+static double transfiniteHex(double f1, double f2, double f3, double f4,
                              double f5, double f6,
-                             double c1, double c2, double c3, double c4, 
-                             double c5, double c6, double c7, double c8, 
+                             double c1, double c2, double c3, double c4,
+                             double c5, double c6, double c7, double c8,
                              double c9, double c10, double c11, double c12,
-                             double s1, double s2, double s3, double s4, 
+                             double s1, double s2, double s3, double s4,
                              double s5, double s6, double s7, double s8,
                              double u, double v, double w)
 {
@@ -116,36 +116,36 @@ static double transfiniteHex(double f1, double f2, double f3, double f4,
     ((1-u)*(1-v)*c9 + (1-u)*v*c12 + u*(1-v)*c10 + u*v*c11) -
     ((1-v)*(1-w)*c1 + (1-v)*w*c5 + v*(1-w)*c3 + v*w*c7) -
     ((1-u)*(1-w)*c4 + (1-w)*u*c2 + w*(1-u)*c8 + u*w*c6) +
-    (1-u)*(1-v)*(1-w)*s1 + u*(1-v)*(1-w)*s2 + u*v*(1-w)*s3 + (1-u)*v*(1-w)*s4 + 
+    (1-u)*(1-v)*(1-w)*s1 + u*(1-v)*(1-w)*s2 + u*v*(1-w)*s3 + (1-u)*v*(1-w)*s4 +
     (1-u)*(1-v)*w*s5 + u*(1-v)*w*s6 + u*v*w*s7 + (1-u)*v*w*s8;
 }
 
-static MVertex *transfiniteHex(GRegion *gr, 
-                               MVertex *f1, MVertex *f2, MVertex *f3, MVertex *f4, 
+static MVertex *transfiniteHex(GRegion *gr,
+                               MVertex *f1, MVertex *f2, MVertex *f3, MVertex *f4,
                                MVertex *f5, MVertex *f6,
-                               MVertex *c1, MVertex *c2, MVertex *c3, MVertex *c4, 
-                               MVertex *c5, MVertex *c6, MVertex *c7, MVertex *c8, 
+                               MVertex *c1, MVertex *c2, MVertex *c3, MVertex *c4,
+                               MVertex *c5, MVertex *c6, MVertex *c7, MVertex *c8,
                                MVertex *c9, MVertex *c10, MVertex *c11, MVertex *c12,
-                               MVertex *s1, MVertex *s2, MVertex *s3, MVertex *s4, 
+                               MVertex *s1, MVertex *s2, MVertex *s3, MVertex *s4,
                                MVertex *s5, MVertex *s6, MVertex *s7, MVertex *s8,
                                double u, double v, double w)
 {
   double x = transfiniteHex(f1->x(), f2->x(), f3->x(), f4->x(), f5->x(), f6->x(),
                             c1->x(), c2->x(), c3->x(), c4->x(), c5->x(), c6->x(),
                             c7->x(), c8->x(), c9->x(), c10->x(), c11->x(), c12->x(),
-                            s1->x(), s2->x(), s3->x(), s4->x(), 
+                            s1->x(), s2->x(), s3->x(), s4->x(),
                             s5->x(), s6->x(), s7->x(), s8->x(),
                             u, v, w);
   double y = transfiniteHex(f1->y(), f2->y(), f3->y(), f4->y(), f5->y(), f6->y(),
                             c1->y(), c2->y(), c3->y(), c4->y(), c5->y(), c6->y(),
                             c7->y(), c8->y(), c9->y(), c10->y(), c11->y(), c12->y(),
-                            s1->y(), s2->y(), s3->y(), s4->y(), 
+                            s1->y(), s2->y(), s3->y(), s4->y(),
                             s5->y(), s6->y(), s7->y(), s8->y(),
                             u, v, w);
   double z = transfiniteHex(f1->z(), f2->z(), f3->z(), f4->z(), f5->z(), f6->z(),
                             c1->z(), c2->z(), c3->z(), c4->z(), c5->z(), c6->z(),
                             c7->z(), c8->z(), c9->z(), c10->z(), c11->z(), c12->z(),
-                            s1->z(), s2->z(), s3->z(), s4->z(), 
+                            s1->z(), s2->z(), s3->z(), s4->z(),
                             s5->z(), s6->z(), s7->z(), s8->z(),
                             u, v, w);
   return new MVertex(x, y, z, gr);
@@ -162,7 +162,7 @@ class GOrientedTransfiniteFace {
     : _gf(0), _LL(0), _HH(0), _permutation(-1), _index(-1) {}
   GOrientedTransfiniteFace(GFace *gf, std::vector<MVertex*> &corners)
     : _gf(gf), _LL(0), _HH(0), _permutation(-1), _index(-1)
-  { 
+  {
     _LL = gf->transfinite_vertices.size() - 1;
     if(_LL <= 0) return;
     _HH = gf->transfinite_vertices[0].size() - 1;
@@ -181,10 +181,10 @@ class GOrientedTransfiniteFace {
     }
     else
       return;
-    
+
     // get the corners of the transfinite surface mesh
     std::vector<MVertex*> c(4);
-    if(_gf->meshAttributes.corners.empty() || 
+    if(_gf->meshAttributes.corners.empty() ||
        _gf->meshAttributes.corners.size() == 4){
       c[0] = _gf->transfinite_vertices[0][0];
       c[1] = _gf->transfinite_vertices[_LL][0];
@@ -201,7 +201,7 @@ class GOrientedTransfiniteFace {
       return;
 
     // map the surface mesh onto the canonical transfinite hexahedron
-    int faces[] = {0, 1, 5, 4,   1, 2, 6, 5,   3, 2, 6, 7, 
+    int faces[] = {0, 1, 5, 4,   1, 2, 6, 5,   3, 2, 6, 7,
                    0, 3, 7, 4,   0, 1, 2, 3,   4, 5, 6, 7};
     int permutations[] = {0, 1, 2, 3,   1, 2, 3, 0,   2, 3, 0, 1,   3, 0, 1, 2,
                           3, 2, 1, 0,   2, 1, 0, 3,   1, 0, 3, 2,   0, 3, 2, 1};
@@ -225,9 +225,9 @@ class GOrientedTransfiniteFace {
   // returns the index of the face in the reference hexahedron
   int index() const { return _index; }
   // returns true if the face is recombined
-  int recombined() const 
-  { 
-    return CTX::instance()->mesh.recombineAll || _gf->meshAttributes.recombine; 
+  int recombined() const
+  {
+    return CTX::instance()->mesh.recombineAll || _gf->meshAttributes.recombine;
   }
   // returns the number or points in the transfinite mesh in both
   // parameter directions
@@ -325,12 +325,12 @@ int MeshTransfiniteVolume(GRegion *gr)
                gr->tag(), corners.size());
     return 0;
   }
-  
+
   std::vector<GOrientedTransfiniteFace> orientedFaces(6);
   for(std::list<GFace*>::iterator it = faces.begin(); it != faces.end(); ++it){
     GOrientedTransfiniteFace f(*it, corners);
     if(f.index() < 0){
-      Msg::Error("Incompatible surface %d in transfinite volume %d", 
+      Msg::Error("Incompatible surface %d in transfinite volume %d",
                  (*it)->tag(), gr->tag());
       return 0;
     }
@@ -371,7 +371,7 @@ int MeshTransfiniteVolume(GRegion *gr)
   MVertex *s1 = orientedFaces[4].getVertex(N_i - 1, 0);
   MVertex *s2 = orientedFaces[4].getVertex(N_i - 1, N_j - 1);
   MVertex *s3 = orientedFaces[4].getVertex(0, N_j - 1);
-  
+
   MVertex *s4 = orientedFaces[5].getVertex(0, 0);
   MVertex *s5 = orientedFaces[5].getVertex(N_i - 1, 0);
   MVertex *s6 = orientedFaces[5].getVertex(N_i - 1, N_j - 1);
@@ -396,12 +396,12 @@ int MeshTransfiniteVolume(GRegion *gr)
       MVertex *c1 = orientedFaces[4].getVertex(N_i - 1, j);
       MVertex *c2 = orientedFaces[4].getVertex(i, N_j - 1);
       MVertex *c3 = orientedFaces[4].getVertex(0, j);
-      
+
       MVertex *c4 = orientedFaces[5].getVertex(i, 0);
       MVertex *c5 = orientedFaces[5].getVertex(N_i - 1, j);
       MVertex *c6 = orientedFaces[5].getVertex(i, N_j - 1);
       MVertex *c7 = orientedFaces[5].getVertex(0, j);
-      
+
       MVertex *f4 = orientedFaces[4].getVertex(i, j);
       MVertex *f5 = orientedFaces[5].getVertex(i, j);
 
@@ -478,12 +478,12 @@ int MeshTransfiniteVolume(GRegion *gr)
             verts[2] = tab[i+1][j+1][k];   verts[3] = tab[i][j+1][k];
             verts[4] = tab[i][j][k+1];     verts[5] = tab[i+1][j][k+1];
             verts[6] = tab[i+1][j+1][k+1]; verts[7] = tab[i][j+1][k+1];
-            if(!orientedFaces[3].recombined() && i == 0     ||
-               !orientedFaces[1].recombined() && i == N_i-2 ||   
-               !orientedFaces[0].recombined() && j == 0     ||   
-               !orientedFaces[2].recombined() && j == N_j-2 ||   
-               !orientedFaces[4].recombined() && k == 0     ||   
-               !orientedFaces[5].recombined() && k == N_k-2 ){
+            if((!orientedFaces[3].recombined() && i == 0)     ||
+               (!orientedFaces[1].recombined() && i == N_i-2) ||
+               (!orientedFaces[0].recombined() && j == 0)     ||
+               (!orientedFaces[2].recombined() && j == N_j-2) ||
+               (!orientedFaces[4].recombined() && k == 0)     ||
+               (!orientedFaces[5].recombined() && k == N_k-2)){
               // make subdivided element
               meshTransfElemWithInternalVertex(gr, verts, &boundary_diags);
             }
@@ -494,13 +494,13 @@ int MeshTransfiniteVolume(GRegion *gr)
             // continue, skipping the rest which is for non-divided elements
             continue;
           }
-          if(orientedFaces[0].recombined() && orientedFaces[1].recombined() && 
-             orientedFaces[2].recombined() && orientedFaces[3].recombined() && 
+          if(orientedFaces[0].recombined() && orientedFaces[1].recombined() &&
+             orientedFaces[2].recombined() && orientedFaces[3].recombined() &&
              orientedFaces[4].recombined() && orientedFaces[5].recombined()) {
             gr->hexahedra.push_back(CREATE_HEX);
           }
-          else if(!orientedFaces[0].recombined() && orientedFaces[1].recombined() && 
-                  !orientedFaces[2].recombined() && orientedFaces[3].recombined() && 
+          else if(!orientedFaces[0].recombined() && orientedFaces[1].recombined() &&
+                  !orientedFaces[2].recombined() && orientedFaces[3].recombined() &&
                   orientedFaces[4].recombined() && orientedFaces[5].recombined()) {
             gr->prisms.push_back(new MPrism(tab[i    ][j    ][k    ],
                                             tab[i + 1][j    ][k    ],
@@ -515,8 +515,8 @@ int MeshTransfiniteVolume(GRegion *gr)
                                             tab[i    ][j + 1][k + 1],
                                             tab[i + 1][j + 1][k    ]));
           }
-          else if(orientedFaces[0].recombined() && !orientedFaces[1].recombined() && 
-                  orientedFaces[2].recombined() && !orientedFaces[3].recombined() && 
+          else if(orientedFaces[0].recombined() && !orientedFaces[1].recombined() &&
+                  orientedFaces[2].recombined() && !orientedFaces[3].recombined() &&
                   orientedFaces[4].recombined() && orientedFaces[5].recombined()) {
             gr->prisms.push_back(new MPrism(tab[i + 1][j    ][k    ],
                                             tab[i + 1][j + 1][k    ],
@@ -531,14 +531,14 @@ int MeshTransfiniteVolume(GRegion *gr)
                                             tab[i    ][j    ][k + 1],
                                             tab[i    ][j + 1][k    ]));
           }
-          else if(orientedFaces[0].recombined() && orientedFaces[1].recombined() && 
-                  orientedFaces[2].recombined() && orientedFaces[3].recombined() && 
+          else if(orientedFaces[0].recombined() && orientedFaces[1].recombined() &&
+                  orientedFaces[2].recombined() && orientedFaces[3].recombined() &&
                   !orientedFaces[4].recombined() && !orientedFaces[5].recombined()) {
             gr->prisms.push_back(CREATE_PRISM_1);
             gr->prisms.push_back(CREATE_PRISM_2);
           }
           else if(!orientedFaces[0].recombined() && !orientedFaces[1].recombined() &&
-                  !orientedFaces[2].recombined() && !orientedFaces[3].recombined() && 
+                  !orientedFaces[2].recombined() && !orientedFaces[3].recombined() &&
                   !orientedFaces[4].recombined() && !orientedFaces[5].recombined()) {
             gr->tetrahedra.push_back(CREATE_SIM_1);
             gr->tetrahedra.push_back(CREATE_SIM_2);
@@ -563,25 +563,26 @@ int MeshTransfiniteVolume(GRegion *gr)
           std::vector<MVertex*> verts;
           verts.resize(6);
           verts[0] = tab[0][j][k];     verts[1] = tab[1][j][k];
-          verts[2] = tab[1][j+1][k];   verts[3] = tab[0][j][k+1];   
-          verts[4] = tab[1][j][k+1];   verts[5] = tab[1][j+1][k+1]; 
-          if(!orientedFaces[0].recombined() && j == 0     ||   
-             !orientedFaces[2].recombined() && j == N_j-2 ||   
-             !orientedFaces[4].recombined() && k == 0     ||   
-             !orientedFaces[5].recombined() && k == N_k-2 ){
+          verts[2] = tab[1][j+1][k];   verts[3] = tab[0][j][k+1];
+          verts[4] = tab[1][j][k+1];   verts[5] = tab[1][j+1][k+1];
+          if((!orientedFaces[0].recombined() && j == 0)     ||
+             (!orientedFaces[2].recombined() && j == N_j-2) ||
+             (!orientedFaces[4].recombined() && k == 0)     ||
+             (!orientedFaces[5].recombined() && k == N_k-2) ){
             // make subdivided element
             meshTransfElemWithInternalVertex(gr, verts, &boundary_diags);
           }
           else
-            gr->prisms.push_back(new MPrism( verts[0], verts[1], verts[2], verts[3], verts[4], verts[5]));
+            gr->prisms.push_back(new MPrism(verts[0], verts[1], verts[2],
+                                            verts[3], verts[4], verts[5]));
           // continue, skipping the rest which is for non-divided elements
           continue;
         }
-        if((orientedFaces[0].recombined() && orientedFaces[1].recombined() && 
-            orientedFaces[2].recombined() && orientedFaces[4].recombined() && 
+        if((orientedFaces[0].recombined() && orientedFaces[1].recombined() &&
+            orientedFaces[2].recombined() && orientedFaces[4].recombined() &&
             orientedFaces[5].recombined()) ||
-           (orientedFaces[0].recombined() && orientedFaces[1].recombined() && 
-            orientedFaces[2].recombined() && !orientedFaces[4].recombined() && 
+           (orientedFaces[0].recombined() && orientedFaces[1].recombined() &&
+            orientedFaces[2].recombined() && !orientedFaces[4].recombined() &&
             !orientedFaces[5].recombined())) {
           gr->prisms.push_back(new MPrism(tab[0    ][j    ][k    ],
                                           tab[1    ][j    ][k    ],
@@ -590,8 +591,8 @@ int MeshTransfiniteVolume(GRegion *gr)
                                           tab[1    ][j    ][k + 1],
                                           tab[1    ][j + 1][k + 1]));
         }
-        else if(!orientedFaces[0].recombined() && !orientedFaces[1].recombined() && 
-                !orientedFaces[2].recombined() && !orientedFaces[4].recombined() && 
+        else if(!orientedFaces[0].recombined() && !orientedFaces[1].recombined() &&
+                !orientedFaces[2].recombined() && !orientedFaces[4].recombined() &&
                 !orientedFaces[5].recombined()) {
           gr->tetrahedra.push_back(new MTetrahedron(tab[0    ][j    ][k    ],
                                                     tab[1    ][j    ][k    ],
@@ -623,11 +624,11 @@ int MeshTransfiniteVolume(GRegion *gr)
             verts[2] = tab[i+1][j+1][k];   verts[3] = tab[i][j+1][k];
             verts[4] = tab[i][j][k+1];     verts[5] = tab[i+1][j][k+1];
             verts[6] = tab[i+1][j+1][k+1]; verts[7] = tab[i][j+1][k+1];
-            if(!orientedFaces[1].recombined() && i == N_i-2 ||   
-               !orientedFaces[0].recombined() && j == 0     ||   
-               !orientedFaces[2].recombined() && j == N_j-2 ||   
-               !orientedFaces[4].recombined() && k == 0     ||   
-               !orientedFaces[5].recombined() && k == N_k-2 ){
+            if((!orientedFaces[1].recombined() && i == N_i-2) ||
+               (!orientedFaces[0].recombined() && j == 0)     ||
+               (!orientedFaces[2].recombined() && j == N_j-2) ||
+               (!orientedFaces[4].recombined() && k == 0)     ||
+               (!orientedFaces[5].recombined() && k == N_k-2)){
               // make subdivided element
               meshTransfElemWithInternalVertex(gr, verts, &boundary_diags);
             }
@@ -637,19 +638,19 @@ int MeshTransfiniteVolume(GRegion *gr)
             // continue, skipping the rest which is for non-divided elements
             continue;
           }
-          if(orientedFaces[0].recombined() && orientedFaces[1].recombined() && 
+          if(orientedFaces[0].recombined() && orientedFaces[1].recombined() &&
              orientedFaces[2].recombined() && orientedFaces[4].recombined() &&
              orientedFaces[5].recombined()) {
             gr->hexahedra.push_back(CREATE_HEX);
           }
-          else if(orientedFaces[0].recombined() && orientedFaces[1].recombined() && 
-                  orientedFaces[2].recombined() && !orientedFaces[4].recombined() && 
+          else if(orientedFaces[0].recombined() && orientedFaces[1].recombined() &&
+                  orientedFaces[2].recombined() && !orientedFaces[4].recombined() &&
                   !orientedFaces[5].recombined()) {
             gr->prisms.push_back(CREATE_PRISM_1);
             gr->prisms.push_back(CREATE_PRISM_2);
           }
-          else if(!orientedFaces[0].recombined() && !orientedFaces[1].recombined() && 
-                  !orientedFaces[2].recombined() && !orientedFaces[4].recombined() && 
+          else if(!orientedFaces[0].recombined() && !orientedFaces[1].recombined() &&
+                  !orientedFaces[2].recombined() && !orientedFaces[4].recombined() &&
                   !orientedFaces[5].recombined()) {
             gr->tetrahedra.push_back(CREATE_SIM_1);
             gr->tetrahedra.push_back(CREATE_SIM_2);
diff --git a/Mesh/multiscalePartition.cpp b/Mesh/multiscalePartition.cpp
index 1c87b1d30821460c9f721d4e5a1ea6bfca0f31ce..5bf57431a80b885d4c6114d2502eff72f6a3e551 100644
--- a/Mesh/multiscalePartition.cpp
+++ b/Mesh/multiscalePartition.cpp
@@ -374,20 +374,23 @@ void multiscalePartition::partition(partitionLevel & level, int nbParts,
 
     if (genus != 0 ){
       int nbParts = std::max(genus+2,2);
-      Msg::Info("Mesh partition: level (%d-%d)  is %d-GENUS (AR=%d) ---> MULTILEVEL partition %d parts",
+      Msg::Info("Mesh partition: level (%d-%d)  is %d-GENUS (AR=%d) "
+                "---> MULTILEVEL partition %d parts",
                 nextLevel->recur,nextLevel->region, genus, AR, nbParts);
       partition(*nextLevel, nbParts, MULTILEVEL);
     }
-    else if (genus == 0  &&  AR > AR_MAX || genus == 0  &&  NB > 1){
+    else if ((genus == 0  &&  AR > AR_MAX) || (genus == 0  &&  NB > 1)){
       int nbParts = 2;
       if(!onlyMultilevel){
-	Msg::Info("Mesh partition: level (%d-%d)  is ZERO-GENUS (AR=%d NB=%d) ---> LAPLACIAN partition %d parts",
+	Msg::Info("Mesh partition: level (%d-%d)  is ZERO-GENUS (AR=%d NB=%d) "
+                  "---> LAPLACIAN partition %d parts",
 		  nextLevel->recur,nextLevel->region, AR, NB, nbParts);
 	partition(*nextLevel, nbParts, LAPLACIAN);
       }
       else {
-      Msg::Info("Mesh partition: level (%d-%d)  is ZERO-GENUS (AR=%d NB=%d) ---> MULTILEVEL partition %d parts",
-                nextLevel->recur,nextLevel->region, AR, NB, nbParts);
+        Msg::Info("Mesh partition: level (%d-%d)  is ZERO-GENUS (AR=%d NB=%d) "
+                  "---> MULTILEVEL partition %d parts",
+                  nextLevel->recur,nextLevel->region, AR, NB, nbParts);
         partition(*nextLevel, nbParts, MULTILEVEL);
       }
     }
diff --git a/Plugin/AnalyseCurvedMesh.cpp b/Plugin/AnalyseCurvedMesh.cpp
index 8aa71999f40ca091db8ea06a9766ca55f610c080..d577c875011df05742a858089cf3365cd1ea3efd 100644
--- a/Plugin/AnalyseCurvedMesh.cpp
+++ b/Plugin/AnalyseCurvedMesh.cpp
@@ -677,14 +677,14 @@ void GMSH_AnalyseCurvedMeshPlugin::computeMinMax(MElement *const*el, int numEl,
     }
     fwrite << minB/avgJ << " " << minB/maxB << "\r";
 
-    if (data)
-    if (1-minB <= _tol * minJ && maxB-1 <= _tol * maxB)
-      (*data)[el[k]->getNum()].push_back(1.);
-    else if (1-minB/avgJ <= 1e-8)
-      (*data)[el[k]->getNum()].push_back(1.);
-    else
-      (*data)[el[k]->getNum()].push_back(minB/avgJ);
-
+    if (data){
+      if (1-minB <= _tol * minJ && maxB-1 <= _tol * maxB)
+        (*data)[el[k]->getNum()].push_back(1.);
+      else if (1-minB/avgJ <= 1e-8)
+        (*data)[el[k]->getNum()].push_back(1.);
+      else
+        (*data)[el[k]->getNum()].push_back(minB/avgJ);
+    }
     _min_pJmin = std::min(_min_pJmin, minB/avgJ);
     _avg_pJmin += minB/avgJ;
     _min_ratioJ = std::min(_min_ratioJ, minB/maxB);