diff --git a/Graphics/Mesh.cpp b/Graphics/Mesh.cpp
index 63e945073162e9cd59b5dab778a4c35e4dbbdde9..6642a03afd6295283974c80bdef2f37d0b61284b 100644
--- a/Graphics/Mesh.cpp
+++ b/Graphics/Mesh.cpp
@@ -1,4 +1,4 @@
-// $Id: Mesh.cpp,v 1.99 2004-07-01 19:07:43 geuzaine Exp $
+// $Id: Mesh.cpp,v 1.100 2004-07-09 18:26:56 geuzaine Exp $
 //
 // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle
 //
@@ -634,7 +634,7 @@ void Draw_Mesh_Triangle(void *a, void *b)
     if(CTX.mesh.surfaces_faces) {
       glColor4ubv((GLubyte *) & col);      
       if(CTX.mesh.light) glEnable(GL_LIGHTING);
-      glEnable(GL_POLYGON_OFFSET_FILL);
+      if(CTX.mesh.surfaces_edges) glEnable(GL_POLYGON_OFFSET_FILL);
       if(!s->VSUP) {
 	glBegin(GL_TRIANGLES);
 	glVertex3d(X[0], Y[0], Z[0]);
@@ -776,7 +776,7 @@ void Draw_Mesh_Quadrangle(void *a, void *b)
     if(CTX.mesh.surfaces_faces) {
       glColor4ubv((GLubyte *) & col);
       if(CTX.mesh.light) glEnable(GL_LIGHTING);
-      glEnable(GL_POLYGON_OFFSET_FILL);
+      if(CTX.mesh.surfaces_edges) glEnable(GL_POLYGON_OFFSET_FILL);
       if(!q->VSUP) {
 	glBegin(GL_QUADS);
 	glVertex3d(X[0], Y[0], Z[0]);
diff --git a/Graphics/Post.cpp b/Graphics/Post.cpp
index b5980492b9eb16bd1c004431eaede53aa2f7b071..d3d632c7c249077b6f644ce79b3ceb68740c5590 100644
--- a/Graphics/Post.cpp
+++ b/Graphics/Post.cpp
@@ -1,4 +1,4 @@
-// $Id: Post.cpp,v 1.70 2004-06-23 19:53:52 geuzaine Exp $
+// $Id: Post.cpp,v 1.71 2004-07-09 18:26:56 geuzaine Exp $
 //
 // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle
 //
@@ -560,7 +560,7 @@ void Draw_Post(void)
 	  glEnable(GL_LIGHTING);
 	else
 	  glDisableClientState(GL_NORMAL_ARRAY);
-	glEnable(GL_POLYGON_OFFSET_FILL);
+	if(v->ShowElement) glEnable(GL_POLYGON_OFFSET_FILL);
 	glDrawArrays(GL_TRIANGLES, 0, 3 * v->TriVertexArray->num);
 	glDisable(GL_POLYGON_OFFSET_FILL);
 	glDisable(GL_LIGHTING);
diff --git a/Graphics/PostElement.cpp b/Graphics/PostElement.cpp
index 71743e6911066cfb963900a374510bf766fdf664..fa98b16fdde3086856b2ac1ff92e835a8f2e4473 100644
--- a/Graphics/PostElement.cpp
+++ b/Graphics/PostElement.cpp
@@ -1,4 +1,4 @@
-// $Id: PostElement.cpp,v 1.37 2004-07-02 23:15:04 geuzaine Exp $
+// $Id: PostElement.cpp,v 1.38 2004-07-09 18:26:56 geuzaine Exp $
 //
 // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle
 //
@@ -460,7 +460,7 @@ void Draw_ScalarTriangle(Post_View * View, int preproNormals,
       }
       else{
 	if(View->Light) glEnable(GL_LIGHTING);
-	glEnable(GL_POLYGON_OFFSET_FILL);
+	if(View->ShowElement) glEnable(GL_POLYGON_OFFSET_FILL);
 	glBegin(GL_TRIANGLES);
 	for(int i = 0; i < 3; i++){
 	  PaletteContinuous(View, ValMin, ValMax, Val[i]);
@@ -511,7 +511,7 @@ void Draw_ScalarTriangle(Post_View * View, int preproNormals,
 	}
 	else{
 	  if(View->Light) glEnable(GL_LIGHTING);
-	  glEnable(GL_POLYGON_OFFSET_FILL);
+	  if(View->ShowElement) glEnable(GL_POLYGON_OFFSET_FILL);
 	  glBegin(GL_POLYGON);
 	  for(int i = 0; i < nb; i++) {
 	    PaletteContinuous(View, ValMin, ValMax, Vp[i]);
@@ -568,7 +568,7 @@ void Draw_ScalarTriangle(Post_View * View, int preproNormals,
 	  }
 	  else{
 	    if(View->Light) glEnable(GL_LIGHTING);
-	    glEnable(GL_POLYGON_OFFSET_FILL);
+	    if(View->ShowElement) glEnable(GL_POLYGON_OFFSET_FILL);
 	    glBegin(GL_POLYGON);
 	    for(int i = 0; i < nb; i++){
 	      if(View->Light) glNormal3dv(&norms[3*i]);