Index: src/work/list_graph.h
===================================================================
--- src/work/list_graph.h	(revision 304)
+++ src/work/list_graph.h	(revision 309)
@@ -234,5 +234,7 @@
     
     ~ListGraph() { 
-      while (first<NodeIt>().valid()) erase(first<NodeIt>());
+      NodeIt n;
+      while (this->valid(first(n))) erase(n);
+      //while (first<NodeIt>().valid()) erase(first<NodeIt>());
     }
 
@@ -335,6 +337,14 @@
 
     void erase(Node i) { 
-      while (first<OutEdgeIt>(i).valid()) erase(first<OutEdgeIt>(i));
-      while (first<InEdgeIt>(i).valid()) erase(first<InEdgeIt>(i));
+      { 
+	OutEdgeIt e;
+	while (this->valid(first(e, i))) erase(e);
+      }
+      {
+	InEdgeIt e;
+	while (this->valid(first(e, i))) erase(e);
+      }
+      //while (first<OutEdgeIt>(i).valid()) erase(first<OutEdgeIt>(i));
+      //while (first<InEdgeIt>(i).valid()) erase(first<InEdgeIt>(i));
       _delete_node(i.node); 
     }
