diff --git a/Mesh/3D_Extrude.cpp b/Mesh/3D_Extrude.cpp
index a0a96e01806426b981213e983171149e829a5918..c8502a2a182ee0b9c99f55c84a980ffd668cf2e1 100644
--- a/Mesh/3D_Extrude.cpp
+++ b/Mesh/3D_Extrude.cpp
@@ -1,4 +1,4 @@
-// $Id: 3D_Extrude.cpp,v 1.91 2006-01-06 00:34:25 geuzaine Exp $
+// $Id: 3D_Extrude.cpp,v 1.92 2006-05-14 00:48:20 geuzaine Exp $
 //
 // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 //
@@ -366,15 +366,15 @@ void Create_HexPri(int iEnt, Vertex * v[8])
 
   if(j == 2) {
     if(dup[0] == 0 && dup[1] == 1)
-      newp = Create_Prism(v[0], v[3], v[7], v[1], v[6], v[2]);
+      newp = Create_Prism(v[0], v[3], v[7], v[1], v[2], v[6]);
     else if(dup[0] == 1 && dup[1] == 2)
       newp = Create_Prism(v[0], v[1], v[4], v[3], v[2], v[7]);
     else if(dup[0] == 2 && dup[1] == 3)
-      newp = Create_Prism(v[0], v[3], v[4], v[1], v[5], v[7]);
+      newp = Create_Prism(v[0], v[3], v[4], v[1], v[2], v[5]);
     else if(dup[0] == 0 && dup[1] == 3)
       newp = Create_Prism(v[0], v[1], v[5], v[3], v[2], v[6]);
     else {
-      Msg(GERROR, "Uncoherent hexahedron  (nodes %d %d %d %d %d %d %d %d)",
+      Msg(GERROR, "Uncoherent hexahedron (nodes %d %d %d %d %d %d %d %d)",
           v[0], v[1], v[2], v[3], v[4], v[5], v[6], v[7]);
       return;
     }
diff --git a/Mesh/Print_Mesh.cpp b/Mesh/Print_Mesh.cpp
index 6979f8ef871ea8abb9182a3805a8a7a017717f64..4ad993768fe910c2d48cd2653ba4d209710e3024 100644
--- a/Mesh/Print_Mesh.cpp
+++ b/Mesh/Print_Mesh.cpp
@@ -1,4 +1,4 @@
-// $Id: Print_Mesh.cpp,v 1.74 2006-05-13 22:32:13 geuzaine Exp $
+// $Id: Print_Mesh.cpp,v 1.75 2006-05-14 00:48:20 geuzaine Exp $
 //
 // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 //
@@ -168,9 +168,7 @@ static void _msh_print_simplex(void *a, void *b)
       type = TETRAHEDRON;
       if(s->Volume_Simplexe() < 0) {
 	Vertex *temp;
-	temp = s->V[0];
-	s->V[0] = s->V[1];
-	s->V[1] = temp;
+	temp = s->V[0]; s->V[0] = s->V[1]; s->V[1] = temp;
       }
     }
   }
@@ -280,11 +278,12 @@ static void _msh_print_hexahedron(void *a, void *b)
       Vertex *temp;
       temp = h->V[0]; h->V[0] = h->V[2]; h->V[2] = temp;
       temp = h->V[4]; h->V[4] = h->V[6]; h->V[6] = temp;
-      temp = h->VSUP[0]; h->VSUP[0] = h->VSUP[4];  h->VSUP[4]  = temp;
-      temp = h->VSUP[1]; h->VSUP[1] = h->VSUP[10]; h->VSUP[10] = temp;
-      temp = h->VSUP[2]; h->VSUP[2] = h->VSUP[8];  h->VSUP[8]  = temp;
-      temp = h->VSUP[5]; h->VSUP[5] = h->VSUP[6];  h->VSUP[6]  = temp;
-      temp = h->VSUP[7]; h->VSUP[7] = h->VSUP[11]; h->VSUP[11] = temp;
+      Vertex *old[12];
+      for(int i = 0; i < 12; i++) old[i] = h->VSUP[i];
+      h->VSUP[0] = old[3]; h->VSUP[1] = old[5]; h->VSUP[2] = old[6];
+      h->VSUP[3] = old[0]; h->VSUP[4] = old[4]; h->VSUP[5] = old[1];
+      h->VSUP[6] = old[2]; h->VSUP[7] = old[7]; h->VSUP[8] = old[10];
+      h->VSUP[9] = old[11]; h->VSUP[10] = old[8]; h->VSUP[11] = old[9];
     }
   }
   else {