diff --git a/Mesh/BDS.h b/Mesh/BDS.h
index 7eb0383f780238e1d8304b305649aa84ef5b2f28..5d48497f04405c8b2201004feb4e8d667e1ca28f 100644
--- a/Mesh/BDS.h
+++ b/Mesh/BDS.h
@@ -69,6 +69,7 @@ public:
 class BDS_Surface
 {
 public :
+  virtual ~BDS_Surface(){}
   virtual double signedDistanceTo(double x, double y, double z) const = 0;
   virtual void projection(double xa, double ya, double za,
 			  double &x, double &y, double &z) const =0;
diff --git a/Mesh/SwapPatterns.h b/Mesh/SwapPatterns.h
index 879e68c298bc8cd63bf6a3f554bbfac0ba873a66..5a9e93aa7e37301166d24661bc0a4ec2bb752dcd 100644
--- a/Mesh/SwapPatterns.h
+++ b/Mesh/SwapPatterns.h
@@ -122,6 +122,7 @@ protected :
   virtual void GetTriangleWithoutRot(int iPattern, int iTriangle,int tri[3])=0;
 public :
   SwapPattern(){Rot = 0;}
+  virtual ~SwapPattern(){}
   int GetNbPatterns() {return NbPatterns;}
   virtual int GetNbRotations(int iPattern) = 0;
   int GetNbTriangles(){return NbNod-2;}