diff --git a/src/bias/MetaD.cpp b/src/bias/MetaD.cpp
index 493744f377f266147b4a7bece45ab89e0b5b0039..07d152ae48757ad819cd23b12be3b7a047e79561 100644
--- a/src/bias/MetaD.cpp
+++ b/src/bias/MetaD.cpp
@@ -375,7 +375,7 @@ private:
     Gaussian(const vector<double> & center,const vector<double> & sigma,double height, bool multivariate ):
       center(center),sigma(sigma),height(height),multivariate(multivariate),invsigma(sigma) {
       // to avoid troubles from zero element in flexible hills
-      for(unsigned i=0; i<invsigma.size(); ++i) abs(invsigma[i])>1.e-20?invsigma[i]=1.0/invsigma[i]:0.;
+      for(unsigned i=0; i<invsigma.size(); ++i) if(abs(invsigma[i])>1.e-20) invsigma[i]=1.0/invsigma[i] ; else invsigma[i]=0.0;
     }
   };
   struct TemperingSpecs {