diff --git a/Geo/MPrism.h b/Geo/MPrism.h
index 3a09de8d74244bbb54e0ed3a3e7fff60539c29b8..33c81597fc52d0aa06083ffbd0e6aea10c920e05 100644
--- a/Geo/MPrism.h
+++ b/Geo/MPrism.h
@@ -64,6 +64,7 @@ class MPrism : public MElement {
   virtual int getNumVertices() const { return 6; }
   virtual double getInnerRadius();
   virtual MVertex *getVertex(int num){ return _v[num]; }
+  virtual void setVertex(int num,   MVertex *v){_v[num]=v;}
   virtual int getNumEdges(){ return 9; }
   virtual MEdge getEdge(int num)
   {
diff --git a/Geo/MTriangle.h b/Geo/MTriangle.h
index 17d2bb59713f74042ce15dafe630f92a24f8f079..2f78ab4fc346ba126e8c57043d61e3af80cc1bd2 100644
--- a/Geo/MTriangle.h
+++ b/Geo/MTriangle.h
@@ -58,6 +58,7 @@ class MTriangle : public MElement {
   virtual double angleShapeMeasure();
   virtual int getNumVertices() const { return 3; }
   virtual MVertex *getVertex(int num){ return _v[num]; }
+  virtual void setVertex(int num,  MVertex *v){_v[num]=v;}
   virtual void xyz2uvw(double xyz[3], double uvw[3]);
   virtual MVertex *getOtherVertex(MVertex *v1, MVertex *v2)
   {