diff --git a/AMDiS/src/UmfPackSolver.h b/AMDiS/src/UmfPackSolver.h
index 8bb6ae057599a8f2e042f48b57bce717998acb02..ce280451451576f2c5765b500ac7b06864bb770a 100644
--- a/AMDiS/src/UmfPackSolver.h
+++ b/AMDiS/src/UmfPackSolver.h
@@ -90,8 +90,8 @@ namespace AMDiS {
 	
 	// std::cout << "UmfPackSolver: A = \n" << A << "\n";
 	int code= (*solver)(x, b);
-	mtl::dense_vector<value_type> r= b - A * x;
-	std::cout << "UmfPackSolver: ||b-Ax|| = " << two_norm(r) << "\n";
+	mtl::dense_vector<value_type> r(b); r-= A * x; residual= two_norm(r);
+	std::cout << "UmfPackSolver: ||b-Ax|| = " << residual << "\n";
 	return code;
     }