diff --git a/Geo/ExtrudeParams.cpp b/Geo/ExtrudeParams.cpp
index 42c55d2eef3bfea06e8db4ce49f021e2922c6167..cda79dc8e0c06714e01b6e8764676a6ab00b1901 100644
--- a/Geo/ExtrudeParams.cpp
+++ b/Geo/ExtrudeParams.cpp
@@ -156,15 +156,14 @@ ExtrusionElementMap::addExtrudedElem(MElement* source, MElement* extrudedElem)
   if(it != _extrudedElements.end())
     it->second.push_back(extrudedElem);
   else {
-   std::vector<MElement*>* vec = new std::vector<MElement*>();
-   int totalNbElems = 0;
-   for (int i = 0;i<_parent->mesh.NbLayer;i++)
-     totalNbElems += _parent->mesh.NbElmLayer[i];
-   vec->reserve(totalNbElems);
-   vec->push_back(extrudedElem);
-   _extrudedElements.insert(std::pair<MElement*, std::vector<MElement*> >(source, *vec));
+    int totalNbElems = 0;
+    for (int i = 0; i <_parent->mesh.NbLayer;i++)
+      totalNbElems += _parent->mesh.NbElmLayer[i];
+    // This expression automatically creates the new map key
+    std::vector<MElement*> *vec = &(_extrudedElements[source]);
+    vec->reserve( totalNbElems );
+    vec->push_back( extrudedElem );
   }
-  SPoint3 np = extrudedElem->barycenter(), sp = source->barycenter();
 }
 
 // Propagates the partition information from the source elements to