diff --git a/Geo/GEdge.h b/Geo/GEdge.h
index 481deb124513af4a4de61c92a56c30d379ed6327..e206eee5d3c47db5549f06f64b92070095d6052d 100644
--- a/Geo/GEdge.h
+++ b/Geo/GEdge.h
@@ -26,6 +26,7 @@
 #include "SPoint3.h"
 #include "SPoint2.h"
 
+class MElement;
 class MLine;
 class ExtrudeParams;
 
diff --git a/Geo/GFace.cpp b/Geo/GFace.cpp
index 4b848c33dc774d9f5f7632f889d4ca9a88b2b6e4..c2d574b26129d1cf22e01e79034aba27cc17068a 100644
--- a/Geo/GFace.cpp
+++ b/Geo/GFace.cpp
@@ -1,4 +1,4 @@
-// $Id: GFace.cpp,v 1.55 2008-02-22 20:28:07 geuzaine Exp $
+// $Id: GFace.cpp,v 1.56 2008-02-22 20:29:56 geuzaine Exp $
 //
 // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 //
@@ -81,7 +81,7 @@ int GFace::getNumElements()
 MElement *GFace::getElement(int index)
 { 
   if(index < triangles.size())
-    return triangles[i];
+    return triangles[index];
   else if(index < triangles.size() + quadrangles.size())
     return quadrangles[index - triangles.size()];
   return 0;
diff --git a/Geo/GFace.h b/Geo/GFace.h
index 3e8a1ddd3e539b5bc2837d53c89d9f92f0396574..b4453f6aedbdbee4c6cca7579ec1d5ed55c28b65 100644
--- a/Geo/GFace.h
+++ b/Geo/GFace.h
@@ -27,6 +27,7 @@
 #include "SVector3.h"
 #include "Pair.h"
 
+class MElement;
 class MTriangle;
 class MQuadrangle;
 class ExtrudeParams;
diff --git a/Geo/GRegion.h b/Geo/GRegion.h
index eebcc758640a0aff35ca6a0c88476f8db24e1788..09c80b92ca0502714264058cab41bbef8533443f 100644
--- a/Geo/GRegion.h
+++ b/Geo/GRegion.h
@@ -22,6 +22,7 @@
 
 #include "GEntity.h"
 
+class MElement;
 class MTetrahedron;
 class MHexahedron;
 class MPrism;