diff --git a/istl/bcrsmatrix.hh b/istl/bcrsmatrix.hh
index 51e3e518b8761a4391be8a856b6e51ec8048d8b7..a6528fdde308b02ba7341b8c6cbd5181496eef47 100644
--- a/istl/bcrsmatrix.hh
+++ b/istl/bcrsmatrix.hh
@@ -3,7 +3,7 @@
 #ifndef DUNE_BCRSMATRIX_HH
 #define DUNE_BCRSMATRIX_HH
 
-#include <math.h>
+#include <cmath>
 #include <complex>
 #include <set>
 #include <iostream>
diff --git a/istl/bvector.hh b/istl/bvector.hh
index 70a5d3960d0aaf104774fcecdb76f302a5f87843..a7725767f553a56be127a1a68fc5976b9736e01a 100644
--- a/istl/bvector.hh
+++ b/istl/bvector.hh
@@ -3,7 +3,7 @@
 #ifndef DUNE_BVECTOR_HH
 #define DUNE_BVECTOR_HH
 
-#include <math.h>
+#include <cmath>
 #include <complex>
 
 #include "istlexception.hh"
diff --git a/istl/gsetc.hh b/istl/gsetc.hh
index b3fb5d617596b01ef14672652951f1949507497b..205bb95aaf0f66072581c45a94edd17e1e954534 100644
--- a/istl/gsetc.hh
+++ b/istl/gsetc.hh
@@ -3,7 +3,7 @@
 #ifndef DUNE_GSETC_HH
 #define DUNE_GSETC_HH
 
-#include <math.h>
+#include <cmath>
 #include <complex>
 #include <iostream>
 #include <iomanip>
diff --git a/istl/ilu.hh b/istl/ilu.hh
index 76c513cf5ae6349978439b86d5c99a2537c774ba..f0c44a6d10e37e728e9b012be371767c30760a7d 100644
--- a/istl/ilu.hh
+++ b/istl/ilu.hh
@@ -3,7 +3,7 @@
 #ifndef DUNE_ILU_HH
 #define DUNE_ILU_HH
 
-#include <math.h>
+#include <cmath>
 #include <complex>
 #include <iostream>
 #include <iomanip>
diff --git a/istl/io.hh b/istl/io.hh
index f8eddae01cbac1f19ec68e5c06775d04906a84d4..6f13a4950122399939ddbde433f21f14a5362d0c 100644
--- a/istl/io.hh
+++ b/istl/io.hh
@@ -3,7 +3,7 @@
 #ifndef DUNE_ISTLIO_HH
 #define DUNE_ISTLIO_HH
 
-#include <math.h>
+#include <cmath>
 #include <complex>
 #include <ios>
 #include <iomanip>
diff --git a/istl/operators.hh b/istl/operators.hh
index a23bbd1f02d2bf21e278ec2b9c051bbd65775994..b2db2b41096aeb721a5bd9e2159def108e00f112 100644
--- a/istl/operators.hh
+++ b/istl/operators.hh
@@ -3,7 +3,7 @@
 #ifndef DUNE_ISTLOPERATORS_HH
 #define DUNE_ISTLOPERATORS_HH
 
-#include <math.h>
+#include <cmath>
 #include <complex>
 #include <iostream>
 #include <iomanip>
diff --git a/istl/owneroverlapcopy.hh b/istl/owneroverlapcopy.hh
index 2946f027c7f05d03009b1be9003a676fc47ec33b..312d93179782614e52f477ade94655a799258e66 100644
--- a/istl/owneroverlapcopy.hh
+++ b/istl/owneroverlapcopy.hh
@@ -11,7 +11,7 @@
 #include <map>
 #include <set>
 
-#include "math.h"
+#include "cmath"
 
 // MPI header
 #if HAVE_MPI
diff --git a/istl/preconditioners.hh b/istl/preconditioners.hh
index 3f58c6057ef6a4d39b56fb1561339bd991d0a975..7a8075a7876a9d9154e7a1db13ee73529cc63282 100644
--- a/istl/preconditioners.hh
+++ b/istl/preconditioners.hh
@@ -3,7 +3,7 @@
 #ifndef DUNE_PRECONDITIONERS_HH
 #define DUNE_PRECONDITIONERS_HH
 
-#include <math.h>
+#include <cmath>
 #include <complex>
 #include <iostream>
 #include <iomanip>
diff --git a/istl/scalarproducts.hh b/istl/scalarproducts.hh
index 25bc86d18aed21c38bd02ad560148a251b84356f..eac31dab45ca2529f097c0fd8a37375236ac24ff 100644
--- a/istl/scalarproducts.hh
+++ b/istl/scalarproducts.hh
@@ -3,7 +3,7 @@
 #ifndef DUNE_SCALARPRODUCTS_HH
 #define DUNE_SCALARPRODUCTS_HH
 
-#include <math.h>
+#include <cmath>
 #include <complex>
 #include <iostream>
 #include <iomanip>
@@ -36,7 +36,7 @@ namespace Dune {
 
       Krylov space methods need to compute scalar products and norms
       (for convergence test only). These methods have to know about the
-          underlying data decomposition. For the sequantial case adefault implementation
+          underlying data decomposition. For the sequential case a default implementation
           is provided.
    */
   template<class X>
diff --git a/istl/schwarz.hh b/istl/schwarz.hh
index a58c7ccb57dae11e3da82c8660ec23c56116bde2..f3ba6dcc8077f701738570f4a5a43ca882837f69 100644
--- a/istl/schwarz.hh
+++ b/istl/schwarz.hh
@@ -8,7 +8,7 @@
 #include <vector>                // STL vector class
 #include <sstream>
 
-#include <math.h>                // Yes, we do some math here
+#include <cmath>                // Yes, we do some math here
 #include <stdio.h>               // There is nothing better than sprintf
 #include <sys/times.h>           // for timing measurements
 
diff --git a/istl/solvers.hh b/istl/solvers.hh
index 2c05a8e32b4eb51033cee5bb2d326d718908a3a3..e6c03b7f2a043e650f43dca737bc114ab3284f51 100644
--- a/istl/solvers.hh
+++ b/istl/solvers.hh
@@ -3,7 +3,7 @@
 #ifndef DUNE_SOLVERS_HH
 #define DUNE_SOLVERS_HH
 
-#include <math.h>
+#include <cmath>
 #include <complex>
 #include <iostream>
 #include <iomanip>
diff --git a/istl/tutorial/example.cc b/istl/tutorial/example.cc
index ff3e9c0ed06e9287a92c5fcef0260e94f8220eaf..0d8297fa5447099baa8d1f2b6d1a7c869c83731d 100644
--- a/istl/tutorial/example.cc
+++ b/istl/tutorial/example.cc
@@ -8,7 +8,7 @@
 #include <vector>                 // STL vector class
 #include <complex>
 
-#include <math.h>                 // Yes, we do some math here
+#include <cmath>                 // Yes, we do some math here
 #include <stdio.h>                // There is nothing better than sprintf
 #include <sys/times.h>            // for timing measurements
 
diff --git a/istl/vbcrsmatrix.hh b/istl/vbcrsmatrix.hh
index 91b4411750db8e9054543d2f0d761d6563325a29..2df94ee61edf4417d04841c7561a6562d0195660 100644
--- a/istl/vbcrsmatrix.hh
+++ b/istl/vbcrsmatrix.hh
@@ -3,7 +3,7 @@
 #ifndef DUNE_VBCRSMATRIX_HH
 #define DUNE_VBCRSMATRIX_HH
 
-#include <math.h>
+#include <cmath>
 #include <complex>
 
 #include "istlexection.hh"
diff --git a/istl/vbvector.hh b/istl/vbvector.hh
index 0ef88a8710139d7d7f5be3e8cc0fbac35b482de2..5112b5159e8943a802a6eb36cbc1d80421a87f24 100644
--- a/istl/vbvector.hh
+++ b/istl/vbvector.hh
@@ -3,7 +3,7 @@
 #ifndef DUNE_VBVECTOR_HH
 #define DUNE_VBVECTOR_HH
 
-#include <math.h>
+#include <cmath>
 #include <complex>
 #include <iostream>