diff --git a/Geo/gmshRegion.cpp b/Geo/gmshRegion.cpp
index 890654c441c09e381e079f6917b01da50884cf27..b80f1caa5f187f7871b6ecefcc1c700fc05372ca 100644
--- a/Geo/gmshRegion.cpp
+++ b/Geo/gmshRegion.cpp
@@ -19,6 +19,8 @@ gmshRegion::gmshRegion(GModel *m, ::Volume *volume)
 void gmshRegion::resetNativePtr(::Volume *volume)
 {
   v = volume;
+  l_faces.clear();
+  l_dirs.clear();
   for(int i = 0; i < List_Nbr(v->Surfaces); i++){
     Surface *s;
     List_Read(v->Surfaces, i, &s);