diff --git a/Geo/MElement.cpp b/Geo/MElement.cpp
index 662a48a816e6606650630f8a0c42732545ffa389..aca031d8ee093733809b0cefe3861ede0df9cf61 100644
--- a/Geo/MElement.cpp
+++ b/Geo/MElement.cpp
@@ -212,16 +212,6 @@ double MElement::rhoShapeMeasure()
     return 0.;
 }
 
-double MElement::metricShapeMeasure()
-{
-  return MetricBasis::getMinRCorner(this);
-}
-
-double MElement::metricShapeMeasure2()
-{
-  return MetricBasis::getMinR(this);
-}
-
 double MElement::maxDistToStraight() const
 {
   const nodalBasis *lagBasis = getFunctionSpace();
diff --git a/Geo/MElement.h b/Geo/MElement.h
index acf8ed582e2f2fe9667b096908a80941307aa7d3..32bd4a1851509814d5dd873029af9395a2a11921 100644
--- a/Geo/MElement.h
+++ b/Geo/MElement.h
@@ -18,7 +18,6 @@
 #include "FuncSpaceData.h"
 #include "nodalBasis.h"
 #include "polynomialBasis.h"
-#include "MetricBasis.h"
 #include "GaussIntegration.h"
 
 class GModel;
@@ -227,8 +226,6 @@ class MElement
   virtual void scaledJacRange(double &jmin, double &jmax, GEntity *ge = 0) const;
   virtual void idealJacRange(double &jmin, double &jmax, GEntity *ge = 0);
   virtual void signedInvCondNumRange(double &iCNMin, double &iCNMax, GEntity *ge = 0);
-  virtual double metricShapeMeasure();
-  virtual double metricShapeMeasure2();
 
   // get the radius of the inscribed circle/sphere if it exists,
   // otherwise get the minimum radius of all the circles/spheres
diff --git a/Numeric/BasisFactory.cpp b/Numeric/BasisFactory.cpp
index 604ab7f0642d23951b86d3ed5688997065d35022..2b716e13482f014499f4a8a12b42d593d3fb069f 100644
--- a/Numeric/BasisFactory.cpp
+++ b/Numeric/BasisFactory.cpp
@@ -9,14 +9,12 @@
 #include "pyramidalBasis.h"
 #include "bezierBasis.h"
 #include "miniBasis.h"
-#include "MetricBasis.h"
 #include "CondNumBasis.h"
 #include "JacobianBasis.h"
 #include <map>
 #include <cstddef>
 
 std::map<int, nodalBasis*> BasisFactory::fs;
-std::map<int, MetricBasis*> BasisFactory::ms;
 std::map<int, CondNumBasis*> BasisFactory::cs;
 std::map<FuncSpaceData, JacobianBasis*> BasisFactory::js;
 std::map<FuncSpaceData, bezierBasis*> BasisFactory::bs;
@@ -103,16 +101,6 @@ const JacobianBasis* BasisFactory::getJacobianBasis(int tag)
     return getJacobianBasis(FuncSpaceData(true, tag, false, order+2, order));
 }
 
-const MetricBasis* BasisFactory::getMetricBasis(int tag)
-{
-  std::map<int, MetricBasis*>::const_iterator it = ms.find(tag);
-  if (it != ms.end()) return it->second;
-
-  MetricBasis* M = new MetricBasis(tag);
-  ms.insert(std::make_pair(tag, M));
-  return M;
-}
-
 const CondNumBasis* BasisFactory::getCondNumBasis(int tag, int cnOrder)
 {
   std::map<int, CondNumBasis*>::const_iterator it = cs.find(tag);
@@ -175,13 +163,6 @@ void BasisFactory::clearAll()
   }
   fs.clear();
 
-  std::map<int, MetricBasis*>::iterator itM = ms.begin();
-  while (itM != ms.end()) {
-    delete itM->second;
-    itM++;
-  }
-  ms.clear();
-
   std::map<FuncSpaceData, JacobianBasis*>::iterator itJ = js.begin();
   while (itJ != js.end()) {
     delete itJ->second;
diff --git a/Numeric/BasisFactory.h b/Numeric/BasisFactory.h
index 1ca2457dd2da7f341b1ce491e85f4e6d13540ca9..a587fb8f413dc608a346bc58b23d21b02703b5d0 100644
--- a/Numeric/BasisFactory.h
+++ b/Numeric/BasisFactory.h
@@ -8,7 +8,6 @@
 
 #include <map>
 class nodalBasis;
-class MetricBasis;
 class GradientBasis;
 class bezierBasis;
 class CondNumBasis;
@@ -19,7 +18,6 @@ class BasisFactory
 {
  private:
   static std::map<int, nodalBasis*> fs;
-  static std::map<int, MetricBasis*> ms;
   static std::map<int, CondNumBasis*> cs;
   static std::map<FuncSpaceData, JacobianBasis*> js;
   static std::map<FuncSpaceData, bezierBasis*> bs;
@@ -38,9 +36,6 @@ class BasisFactory
   static const JacobianBasis* getJacobianBasis(int tag, int order);
   static const JacobianBasis* getJacobianBasis(int tag);
 
-  // Metric
-  static const MetricBasis* getMetricBasis(int tag);
-
   // Condition number
   static const CondNumBasis* getCondNumBasis(int tag, int cnOrder = -1);
 
diff --git a/Numeric/CMakeLists.txt b/Numeric/CMakeLists.txt
index e30801bb8e2a37226a559663121d13ef6c2f563e..7fe523cfaf5e41651a46c303519909b31542595e 100644
--- a/Numeric/CMakeLists.txt
+++ b/Numeric/CMakeLists.txt
@@ -18,7 +18,6 @@ set(SRC
 	legendrePolynomials.cpp
     bezierBasis.cpp
     JacobianBasis.cpp
-    MetricBasis.cpp
     CondNumBasis.cpp
     pointsGenerators.cpp
   ElementType.cpp
diff --git a/Numeric/bezierBasis.h b/Numeric/bezierBasis.h
index ac31eb01a0c0a184645a36f1b7dcd6a1aa540c60..efd3fc221227b0aec8544749af3c822530a2252d 100644
--- a/Numeric/bezierBasis.h
+++ b/Numeric/bezierBasis.h
@@ -21,7 +21,6 @@ class bezierBasis {
   const FuncSpaceData _data;
   bezierBasisRaiser *_raiser;
 
-  friend class MetricBasis;
   friend class bezierBasisRaiser;
   fullMatrix<double> _exponents;
 
diff --git a/Plugin/AnalyseCurvedMesh.cpp b/Plugin/AnalyseCurvedMesh.cpp
index 918a4fbabd325ba22d726f1d08f73d17556ffc35..5e9a4990e02cd06fc335842f0d3441a94338781b 100644
--- a/Plugin/AnalyseCurvedMesh.cpp
+++ b/Plugin/AnalyseCurvedMesh.cpp
@@ -16,7 +16,6 @@
 #include "PView.h"
 #include "GModel.h"
 #include "MElement.h"
-#include "MetricBasis.h"
 #include <sstream>
 #include <fstream>
 #include "qualityMeasuresJacobian.h"