diff --git a/Geo/GModel.cpp b/Geo/GModel.cpp
index 06cab53c6d6c85f36b5faf45f07df432090fcb4e..ce5f393cd01249b3045268e5efbdf9e7663e78a9 100644
--- a/Geo/GModel.cpp
+++ b/Geo/GModel.cpp
@@ -1,4 +1,4 @@
-// $Id: GModel.cpp,v 1.19 2006-11-02 18:28:08 geuzaine Exp $
+// $Id: GModel.cpp,v 1.20 2006-11-03 00:41:15 geuzaine Exp $
 //
 // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 //
@@ -91,8 +91,10 @@ static void removeInvisibleElements(std::vector<T*> &elements)
     else
       delete elements[i];
   }
-  elements.clear();
-  elements = tmp;
+  if(tmp.size() < elements.size()){
+    elements.clear();
+    elements = tmp;
+  }
 }
 
 void GModel::removeInvisible()
diff --git a/doc/TODO b/doc/TODO
index 48ddfd5c272b727b43c7f08911f4e52b28f7ebcd..2e079d1bb182b0f3929d500c6c527b28cc773113 100644
--- a/doc/TODO
+++ b/doc/TODO
@@ -1,4 +1,8 @@
-$Id: TODO,v 1.20 2006-09-22 19:28:51 geuzaine Exp $
+$Id: TODO,v 1.21 2006-11-03 00:41:15 geuzaine Exp $
+
+********************************************************************
+
+add Mesh>Edit>Change orientation>Lines & Surfaces
 
 ********************************************************************