diff --git a/Geo/GModelIO.cpp b/Geo/GModelIO.cpp
index 9281527f6847b180e62231386d678b02447f9639..89e146b768061629b8e46cdc5f0ec798c39e65fe 100644
--- a/Geo/GModelIO.cpp
+++ b/Geo/GModelIO.cpp
@@ -1,4 +1,4 @@
-// $Id: GModelIO.cpp,v 1.24 2006-08-18 16:54:40 geuzaine Exp $
+// $Id: GModelIO.cpp,v 1.25 2006-08-18 17:21:39 geuzaine Exp $
 //
 // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 //
@@ -31,10 +31,9 @@
 #include "SBoundingBox3d.h"
 
 template<class T>
-void copyElements(std::vector<T*> &dst, const std::vector<MElement*> &src)
+void addElements(std::vector<T*> &dst, const std::vector<MElement*> &src)
 {
-  dst.resize(src.size());
-  for(unsigned int i = 0; i < src.size(); i++) dst[i] = (T*)src[i];
+  for(unsigned int i = 0; i < src.size(); i++) dst.push_back((T*)src[i]);
 }
 
 static void storeElementsInEntities(GModel *m, 
@@ -53,7 +52,7 @@ static void storeElementsInEntities(GModel *m,
 	  e = new gmshEdge(m, it->first);
 	  m->add(e);
 	}
-	copyElements(e->lines, it->second);
+	addElements(e->lines, it->second);
       }
       break;
     case 3: case 4: 
@@ -63,8 +62,8 @@ static void storeElementsInEntities(GModel *m,
 	  f = new gmshFace(m, it->first);
 	  m->add(f);
 	}
-	if(numEdges == 3) copyElements(f->triangles, it->second);
-	else copyElements(f->quadrangles, it->second);
+	if(numEdges == 3) addElements(f->triangles, it->second);
+	else addElements(f->quadrangles, it->second);
       }
       break;
     case 6: case 12: case 9: case 8:
@@ -74,10 +73,10 @@ static void storeElementsInEntities(GModel *m,
 	  r = new gmshRegion(m, it->first);
 	  m->add(r);
 	}
-	if(numEdges == 6) copyElements(r->tetrahedra, it->second);
-	else if(numEdges == 12) copyElements(r->hexahedra, it->second);
-	else if(numEdges == 9) copyElements(r->prisms, it->second);
-	else copyElements(r->pyramids, it->second);
+	if(numEdges == 6) addElements(r->tetrahedra, it->second);
+	else if(numEdges == 12) addElements(r->hexahedra, it->second);
+	else if(numEdges == 9) addElements(r->prisms, it->second);
+	else addElements(r->pyramids, it->second);
       }
       break;
     }