diff --git a/Geo/MElement.cpp b/Geo/MElement.cpp
index 6a74dd133923d3a50bddc728a57863a86dde692f..a9fc13c6bd4b4db88c5d8c82a7108417ffc8bec5 100644
--- a/Geo/MElement.cpp
+++ b/Geo/MElement.cpp
@@ -653,8 +653,6 @@ double MElement::getEigenvaluesMetric(double u, double v, double w, double value
     fullVector<double> valReal(values, 2), valImag(2);
     fullMatrix<double> vecLeft(2, 2), vecRight(2, 2);
     metric.eig(valReal, valImag, vecLeft, vecRight, true);
-    if (fabs(valImag(0)) + fabs(valImag(1)) > 1e-12)
-      Msg::Warning("not really real");
     values[2] = -1;
     return std::sqrt(valReal(0) / valReal(1));
   }
diff --git a/Numeric/FuncSpaceData.cpp b/Numeric/FuncSpaceData.cpp
index 925443d352a65c9fa3b6115c5e532d73600471da..8e0dfc938234a798e370fbbfcc544e17f137dd4a 100644
--- a/Numeric/FuncSpaceData.cpp
+++ b/Numeric/FuncSpaceData.cpp
@@ -63,10 +63,8 @@ void FuncSpaceData::getOrderForBezier(int order[3], int exponentZ) const
 {
   if (_pyramidalSpace && exponentZ < 0) {
     Msg::Error("getOrderForBezier needs third exponent for pyramidal space!");
-    int a[1];
-    int sum=0;
-    for(int i = 0; i  < 1000000; ++i) sum+=a[i];
-    Msg::Info("sum %d", sum);
+    order[0] = order[1] = order[2] = -1;
+    return;
   }
   if (elementType() == TYPE_PYR) {
     if (_pyramidalSpace) {
diff --git a/Numeric/FuncSpaceData.h b/Numeric/FuncSpaceData.h
index 8b6161a76cbe13d83e97f9ef14b87822daa61919..e940ee84731f9c4e803b5c8d622e2c0923e51d19 100644
--- a/Numeric/FuncSpaceData.h
+++ b/Numeric/FuncSpaceData.h
@@ -27,6 +27,9 @@ private:
 
 public:
 
+  FuncSpaceData() : _tag(-1), _spaceOrder(-1), _nij(-1), _nk(-1),
+    _pyramidalSpace(false), _serendipity(false) {}
+
   // Constructors using MElement*
   FuncSpaceData(MElement *el, int *serendip = NULL);
   FuncSpaceData(MElement *el, int order, int *serendip = NULL);
diff --git a/Numeric/MetricBasis.cpp b/Numeric/MetricBasis.cpp
index ec4e7dd9a51739cbf330a29e1c8c73baedfc2944..4eb734784efba4f2ed327779da4f045851f5b171 100644
--- a/Numeric/MetricBasis.cpp
+++ b/Numeric/MetricBasis.cpp
@@ -48,6 +48,11 @@ namespace {
     for (int i = 1; i <= k; i++, n--) (c *= n) /= i;
     return c;
   }
+
+  double symRand(double f = 1)
+  {
+    return f * (rand()%2001 - 1000) / 1000.;
+  }
 }
 
 MetricBasis::MetricBasis(int tag) : _type(ElementType::ParentTypeFromTag(tag)),
@@ -525,13 +530,6 @@ void MetricBasis::_lightenInequalities(int &countj, int &countp, int &counta)
   counta -= cnt[2];
 }
 
-namespace {
-  static double symRand(double f = 1)
-  {
-    return f * (rand()%2001 - 1000) / 1000.;
-  }
-}
-
 bool MetricBasis::validateBezierForMetricAndJacobian()
 {
   Msg::Info("Testing Bezier interpolation and subdivision "
@@ -551,7 +549,6 @@ bool MetricBasis::validateBezierForMetricAndJacobian()
 
   //
   static const double epsilon = std::numeric_limits<double>::epsilon();
-  double sumRatio = 0;
 
   for (int tag = 1; tag <= MSH_NUM_TYPE; ++tag) {
     if (tag > 66 && tag < 71) continue; //not conventional elements
@@ -610,7 +607,6 @@ bool MetricBasis::validateBezierForMetricAndJacobian()
       metricBasis->interpolateAfterNSubdivisions(el, numSubdiv, numSampPnt,
                                                  isub, uvw, metric_Bez);
 
-      double sumTol = 0;
       int numBadMatch = 0;
       int numBadMatchTensor = 0;
       double maxBadMatch = 0;
@@ -624,9 +620,6 @@ bool MetricBasis::validateBezierForMetricAndJacobian()
 
         double diff = std::abs(metric_Lag - metric_Bez(isamp, 0));
         double diffTensor = std::abs(metric_Lag - metric_Bez(isamp, 1));
-        sumTol += diff;
-        double ratio = (metric_Bez(isamp, 0)-metric_Lag) / tolerance;
-        sumRatio += ratio;
 
         if (diffTensor > toleranceTensor) {
           ++numBadMatchTensor;
@@ -649,9 +642,8 @@ bool MetricBasis::validateBezierForMetricAndJacobian()
     }
   }
 
-  if (numError) Msg::Error("Validation of Bezier terminated with %d errors, "
-                           "you have work...", numError);
-  else Msg::Info("Validation of Bezier terminated without errors", numError);
+  if (numError) Msg::Error("Validation of Bezier terminated with %d errors!", numError);
+  else Msg::Info("Validation of Bezier terminated without errors");
   return numError;
 }
 
@@ -723,7 +715,7 @@ void MetricBasis::interpolate(const MElement *el,
   }
 
   delete jac;
-  //delete metric;
+  delete metric;
 }
 
 void MetricBasis::interpolateAfterNSubdivisions(
@@ -1500,7 +1492,6 @@ double MetricBasis::_R3Dsafe(double q, double p, double J)
   }
   const double a = q/p;
   const double K = J*J/p/p/p;
-  //Msg::Info("%g %g", a-3, K-16);
   return _R3Dsafe(a, K);
 }
 
@@ -1509,7 +1500,6 @@ double MetricBasis::_R3Dsafe(double a, double K)
   const double x = .5 * (K + (3 - a*a)*a);
   if (x > 1+1e-7 || x < -1-1e-7) {
     Msg::Warning("x = %g (a,K) = (%g,%g)", x, a, K);
-    //Msg::Fatal("a");
   }
 
   double ans;
@@ -1517,12 +1507,10 @@ double MetricBasis::_R3Dsafe(double a, double K)
   else if (x <= -1) ans = (a - 2) / (a + 1);
   else {
     const double phi = std::acos(x) / 3;
-    //Msg::Warning("phi %g", phi - M_PI/3);
     ans = (a + 2*std::cos(phi + 2*M_PI/3)) / (a + 2*std::cos(phi));
   }
 
   if (ans < 0 || ans > 1) {
-    //Msg::Warning("R = %g", ans);
     if (ans < 0) return 0;
     else return 1;
   }
diff --git a/Numeric/bezierBasis.cpp b/Numeric/bezierBasis.cpp
index 5a372bfdb7612dc394aebe34beb14de64f8afca4..5eefae9b27e7d77eeaf1aecc8d641722d535b21a 100644
--- a/Numeric/bezierBasis.cpp
+++ b/Numeric/bezierBasis.cpp
@@ -301,10 +301,6 @@ int nChoosek(int n, int k)
 {
   if (n < k || k < 0) {
     Msg::Error("Wrong argument for combination. (%d, %d)", n, k);
-      int a[10];
-      int e = 0;
-      for (int i = 0; i < 1000000; ++i) e += a[i];
-      Msg::Info("e%d", e);
     return 1;
   }
 
@@ -391,7 +387,6 @@ fullMatrix<double> generateBez2LagMatrixPyramid
           * pow_int(1. - point(i, 1), n01 - exponent(j, 1))
           * pow_int(1. - point(i, 2), nk  - exponent(j, 2));
     }
-    //Msg::Info("bb %g %g %g", point(i, 0) / denom, point(i, 1) / denom, 1. - point(i, 2));
   }
   return bez2Lag;
 }
@@ -518,7 +513,6 @@ void bezierBasis::interpolate(const fullMatrix<double> &coeffs,
     for (int n = 0; n < coeffs.size2(); ++n) result(m, n) = 0;
     for (int i = 0; i < numCoeff; i++) {
       _data.getOrderForBezier(order, _exponents(i, dim-1));
-      //if (m==0) Msg::Info("i=%d exp %g %g %g order %d %d %d", i, _exponents(i, 0), _exponents(i, 1), _exponents(i, 2), order[0], order[1], order[2]);
       double dd = 1;
       double pointCompl = 1.;
       int exponentCompl = order[0];
diff --git a/Numeric/bezierBasis.h b/Numeric/bezierBasis.h
index 9ca32760d9e5a890a434a001ec157872a159cb41..f08e305a9e5b76db65f160b3714fca86dfa8aeb3 100644
--- a/Numeric/bezierBasis.h
+++ b/Numeric/bezierBasis.h
@@ -29,9 +29,6 @@ class bezierBasis {
   fullMatrix<double> matrixBez2Lag;
   fullMatrix<double> subDivisor;
 
-  void printTag() const {Msg::Info("tagBezier is %d", _data.elementTag());}
-  void printFuncSpace() const {_data.print();}
-
   // Constructors
   inline bezierBasis(FuncSpaceData data) : _data(data) {
     if (_data.elementType() == TYPE_PYR)