diff --git a/src/testCOMPOSE.cpp b/src/testCOMPOSE.cpp
index 70e87d7177e0bcc144ad21eab1bee97041bcff57..ba6cb3c2679f31585af5636da70c6f618270d815 100644
--- a/src/testCOMPOSE.cpp
+++ b/src/testCOMPOSE.cpp
@@ -29,6 +29,7 @@ char * C_FILE = const_cast<char *>(__FILE__);
 #define C_ASSERTA(x) { if (!(x)) { C_SETERRA(1, "Assert failure %s", #x); }}
 
 #include <maphys.hpp>
+#include <maphys/solver/GMRES.hpp>
 #include <memory>
 #include <cstring>
 #include <string>
@@ -71,8 +72,8 @@ int testCOMPOSE_FEM(double * relative_error){
   int row_max = N;
   int col_min = 1;
   int col_max = N;
-  int nnz;
-  NonZero * matComp = (NonZero *) malloc(sizeof(NonZero)); // For some reason, realloc is used on this
+  int nnz = 0; // Must be initialized to 0
+  NonZero * matComp = (NonZero *) calloc(1, sizeof(NonZero)); // For some reason, realloc is used on this
 
   freeFemMatrix();
   createFemMatrix();
@@ -155,6 +156,14 @@ int testCOMPOSE_FEM(double * relative_error){
       //Mumps<SparseMatrixCOO<Scalar>, DenseMatrix<Scalar>> solver(A);
       solver.factorize();
 
+      /*using Real = typename arithmetic_real<Scalar>::type;
+      const Real tol = 1.0e-6;
+      GMRES<SparseMatrixCOO<Scalar>, DenseMatrix<Scalar>> solver(A);
+      solver.setup(parameters::verbose{true},
+		   parameters::max_iter{500},
+		   parameters::tolerance{tol});
+		   */
+
       temps_final = getTime();
       temps_cpu = temps_final - temps_initial;
 
@@ -165,7 +174,6 @@ int testCOMPOSE_FEM(double * relative_error){
 	doubleToSimple(solCLA, vectorSize);
 
       B = DenseMatrix<Scalar>::view(N, nbRHS, (Scalar*) solCLA, N);
-      //B.display("B");
 
       solCOMPOSE = MpfCalloc(vectorSize, sizeof(D_type)) ; C_CHKPTRQ(solCOMPOSE) ;
       X = DenseMatrix<Scalar>::view(N, nbRHS, (Scalar*) solCOMPOSE, N);
@@ -347,7 +355,7 @@ int testCOMPOSE_BEM(double * relative_error){
 
 int testCOMPOSE(double * relative_error){
 
-  int ierr = 0;
+  int ierr;
 
   if(testedModel == _bem){
     switch(stype) {
@@ -388,7 +396,7 @@ int testCOMPOSE(double * relative_error){
     }
   }
 
-  return 0;
+  return ierr;
 }
 
 #else // HAVE_COMPOSE not defined