diff --git a/dune/solvers/iterationsteps/minimalpolynomialextrapolationstep.hh b/dune/solvers/iterationsteps/minimalpolynomialextrapolationstep.hh
index 88f3fc64f535c968f0308756c3d3c1e4d3df6295..2f6b152ab2e8c2fc6ea68e40300e91422bf9a2b3 100644
--- a/dune/solvers/iterationsteps/minimalpolynomialextrapolationstep.hh
+++ b/dune/solvers/iterationsteps/minimalpolynomialextrapolationstep.hh
@@ -3,7 +3,9 @@
 
 #include <dune/common/bitsetvector.hh>
 
+#include <dune/common/fmatrix.hh>
 #include <dune/istl/matrix.hh>
+#include <dune/istl/preconditioners.hh>
 #include <dune/istl/solvers.hh>
 
 #include <dune/solvers/common/preconditioner.hh>
diff --git a/dune/solvers/solvers/tcgsolver.hh b/dune/solvers/solvers/tcgsolver.hh
index 356cfb6d10d6836967f7f6b78d86221a43f5d16e..6fa7bc0e69f3f559c10dd27df12e85c4cecb1440 100644
--- a/dune/solvers/solvers/tcgsolver.hh
+++ b/dune/solvers/solvers/tcgsolver.hh
@@ -3,6 +3,7 @@
 
 #include <cmath>
 
+#include <dune/common/misc.hh>
 #include <dune/solvers/solvers/iterativesolver.hh>
 #include <dune/solvers/iterationsteps/lineariterationstep.hh>
 #include <dune/solvers/norms/norm.hh>
@@ -24,7 +25,7 @@ class TruncatedCGSolver : public IterativeSolver<VectorType>
         field_type p = b/a;
         field_type q = c/a;
 
-        field_type root1 = - p/2 - sign(p) * std::sqrt(p*p/4 - q);
+        field_type root1 = - p/2 - Dune::sign(p) * std::sqrt(p*p/4 - q);
         field_type root2 = q/root1;
 
         // There must be one positive and one negative root