diff --git a/Solver/linearSystemGMM.h b/Solver/linearSystemGMM.h
index 8d8fabf5e6cb9ccb46abf6603f6efee1b62731ba..fa72c935921481c073e44f9c4c80e1620c639480 100644
--- a/Solver/linearSystemGMM.h
+++ b/Solver/linearSystemGMM.h
@@ -114,14 +114,15 @@ class linearSystemGmm : public linearSystem<scalar> {
   }
   virtual bool isAllocated() const { return false; }
   virtual void allocate(int nbRows) {}
-  virtual void addToMatrix(int row, int col, scalar &val) {}
-  virtual void getFromMatrix(int row, int col, scalar &val) const { return 0.; }
-  virtual void addToRightHandSide(int row, scalar &val) {}
-  virtual void getFromRightHandSide(int row, scalar &val) const { return 0.; }
-  virtual void getFromSolution(int row, scalar &val) const { return 0.; }
+  virtual void addToMatrix(int row, int col, const scalar &val) {}
+  virtual void getFromMatrix(int row, int col, scalar &val) const {}
+  virtual void addToRightHandSide(int row, const scalar &val) {}
+  virtual void getFromRightHandSide(int row, scalar &val) const {}
+  virtual void getFromSolution(int row, scalar &val) const {}
   virtual void zeroMatrix() {}
   virtual void zeroRightHandSide() {}
   virtual int systemSolve() { return 0; }
+  virtual double normInfRightHandSide() const { return 0.; }
   void setPrec(double p){}
   virtual void clear(){}
   void setNoisy(int n){}