diff --git a/dune/istl/spqr.hh b/dune/istl/spqr.hh
index 6ace8674e9b185dc0b1f1137030205eb9158afa6..11663600ec91282d03cddf3ca6abc7b12e27d6da 100644
--- a/dune/istl/spqr.hh
+++ b/dune/istl/spqr.hh
@@ -138,12 +138,12 @@ namespace Dune {
         (static_cast<T*>(B_->x))[k] = b[k];
       cholmod_dense* BTemp = B_;
       B_ = SuiteSparseQR_qmult<T>(0, spqrfactorization_, B_, cc_);
-      X_ = SuiteSparseQR_solve<T>(1, spqrfactorization_, B_, cc_);
+      cholmod_dense* X = SuiteSparseQR_solve<T>(1, spqrfactorization_, B_, cc_);
       cholmod_l_free_dense(&BTemp, cc_);
       // fill x
       for(std::size_t k = 0; k != dimMat; ++k)
-        x [k] = (static_cast<T*>(X_->x))[k];
-      cholmod_l_free_dense(&X_, cc_);
+        x [k] = (static_cast<T*>(X->x))[k];
+      cholmod_l_free_dense(&X, cc_);
       // this is a direct solver
       res.iterations = 1;
       res.converged = true;
@@ -268,7 +268,6 @@ namespace Dune {
     int verbose_;
     cholmod_common* cc_;
     cholmod_sparse* A_;
-    cholmod_dense* X_;
     cholmod_dense* B_;
     SuiteSparseQR_factorization<T>* spqrfactorization_;
   };