diff --git a/Geo/GFace.cpp b/Geo/GFace.cpp
index 760ae369a7be46fc1f732d91a5ea8679e24ceac1..e3a56d5745a0fbdc2e70d4cb7e4385294f5ac86e 100644
--- a/Geo/GFace.cpp
+++ b/Geo/GFace.cpp
@@ -299,6 +299,14 @@ void GFace::writeGEO(FILE *fp)
       Msg::Error("Skipping surface %d in export", tag());
     }
   }
+
+  for(std::list<GEdge*>::iterator it = embedded_edges.begin(); 
+      it != embedded_edges.end(); it++)
+    fprintf(fp, "Line {%d} In Surface {%d};\n", (*it)->tag(), tag());
+
+  for(std::list<GVertex*>::iterator it = embedded_vertices.begin(); 
+      it != embedded_vertices.end(); it++)
+    fprintf(fp, "Point {%d} In Surface {%d};\n", (*it)->tag(), tag());
 }
 
 void GFace::computeMeanPlane()