diff --git a/dune/solvers/common/boxconstraint.hh b/dune/solvers/common/boxconstraint.hh
index 85dab5970c70edf65c5f2c3c3cc264bd493d04ff..1fa119b384314c86501722a309f4f823d380f330 100644
--- a/dune/solvers/common/boxconstraint.hh
+++ b/dune/solvers/common/boxconstraint.hh
@@ -3,9 +3,9 @@
 #ifndef DUNE_BOX_CONSTRAINT_HH
 #define DUNE_BOX_CONSTRAINT_HH
 
+#include <array>
 #include <limits>
 
-#include <dune/common/array.hh>
 #include <dune/common/fvector.hh>
 
 template <class T, int dim>
@@ -63,7 +63,7 @@ public:
 
 protected:
 
-    Dune::array<T, 2*dim> val;
+    std::array<T, 2*dim> val;
 
 };
 
diff --git a/dune/solvers/common/interval.hh b/dune/solvers/common/interval.hh
index 18e78a2469824af98dfdbc85137ea2d5ccda2509..a3ff2a51fe57676aaef0a1e0752b63825c693a81 100644
--- a/dune/solvers/common/interval.hh
+++ b/dune/solvers/common/interval.hh
@@ -3,13 +3,10 @@
 #ifndef DUNE_SOLVERS_COMMON_INTERVAL_HH
 #define DUNE_SOLVERS_COMMON_INTERVAL_HH
 
+#include <array>
 #include <iostream>
 #include <algorithm>
 
-
-
-#include <dune/common/array.hh>
-
 namespace Dune {
 
   namespace Solvers {
@@ -69,7 +66,7 @@ public:
 private:
     
     /** \brief The actual data */
-    Dune::array<field_type,2> data_;
+    std::array<field_type,2> data_;
 };
 
 //! Output operator for Interval
diff --git a/dune/solvers/iterationsteps/obstacletnnmgstep.hh b/dune/solvers/iterationsteps/obstacletnnmgstep.hh
index ce21fcb41031f863b8fbb2ba7ecd71b8551ec762..091ab2ca3b3f098719a8ba4a768f27fe8a51edc4 100644
--- a/dune/solvers/iterationsteps/obstacletnnmgstep.hh
+++ b/dune/solvers/iterationsteps/obstacletnnmgstep.hh
@@ -4,6 +4,7 @@
 #define OBSTACLE_TNNMG_STEP_HH
 
 // std includes
+#include <array>
 #include <vector>
 #include <algorithm>
 
@@ -200,7 +201,7 @@ class ObstacleTNNMGStep
             coarseCorrection_ = 0;
 
             // mark indices for truncation and count truncated indices per component
-            typename Dune::array<int, blockSize> truncationCount;
+            typename std::array<int, blockSize> truncationCount;
             truncationCount.fill(0);
             BitVector truncate(x.size(), false);
             for(size_t i=0; i<x.size(); ++i)
diff --git a/dune/solvers/test/mmgtest.cc b/dune/solvers/test/mmgtest.cc
index 09917053e3ca9d45f74b02937463a3905f9c6f22..99428bd8b92986c8d9f47df0642d3942728080a4 100644
--- a/dune/solvers/test/mmgtest.cc
+++ b/dune/solvers/test/mmgtest.cc
@@ -3,6 +3,7 @@
 
 #include <config.h>
 
+#include <array>
 #include <iostream>
 #include <sstream>
 
@@ -170,7 +171,7 @@ bool checkWithYaspGrid(int refine, const std::string fileName="")
     typedef Dune::YaspGrid<dim> GridType;
 
     typename Dune::FieldVector<typename GridType::ctype,dim> L(1.0);
-    typename Dune::array<int,dim> s;
+    typename std::array<int,dim> s;
     std::fill(s.begin(), s.end(), 1);
 
     GridType grid(L, s);
diff --git a/dune/solvers/test/obstacletnnmgtest.cc b/dune/solvers/test/obstacletnnmgtest.cc
index af9c067c86a3054b824030601d8920558b89c574..d5fa39850a2993ec06ffa76a54dd107de8fe2dbc 100644
--- a/dune/solvers/test/obstacletnnmgtest.cc
+++ b/dune/solvers/test/obstacletnnmgtest.cc
@@ -3,6 +3,7 @@
 
 #include <config.h>
 
+#include <array>
 #include <iostream>
 #include <sstream>
 
@@ -171,7 +172,7 @@ bool checkWithYaspGrid(int refine, const std::string fileName="")
     typedef Dune::YaspGrid<dim> GridType;
 
     typename Dune::FieldVector<typename GridType::ctype,dim> L(1.0);
-    typename Dune::array<int,dim> s;
+    typename std::array<int,dim> s;
     std::fill(s.begin(), s.end(), 1);
 
     GridType grid(L, s);
diff --git a/dune/solvers/test/projectedgradienttest.cc b/dune/solvers/test/projectedgradienttest.cc
index 44781663598a333643b1386784d4e446a57f7160..cbc2ed3aa088287158d20331e774d1346b25c007 100644
--- a/dune/solvers/test/projectedgradienttest.cc
+++ b/dune/solvers/test/projectedgradienttest.cc
@@ -1,5 +1,6 @@
 #include <config.h>
 
+#include <array>
 #include <iostream>
 #include <sstream>
 
@@ -139,7 +140,7 @@ bool checkWithYaspGrid(int refine, const std::string fileName="")
     typedef Dune::YaspGrid<dim> GridType;
 
     typename Dune::FieldVector<typename GridType::ctype,dim> L(1.0);
-    typename Dune::array<int,dim> s;
+    typename std::array<int,dim> s;
     for (int i=0; i<dim; i++)
         s[i] = 1;
     std::bitset<dim> periodic(false);
diff --git a/dune/solvers/test/quadraticipoptsolvertest.cc b/dune/solvers/test/quadraticipoptsolvertest.cc
index 41351c150b4bfd5b3f02bf3be99f98787253a497..e3cea6da5e89aee100644ad3bbb545a3433aee9c 100644
--- a/dune/solvers/test/quadraticipoptsolvertest.cc
+++ b/dune/solvers/test/quadraticipoptsolvertest.cc
@@ -3,6 +3,7 @@
 
 #include <config.h>
 
+#include <array>
 #include <iostream>
 #include <sstream>
 
@@ -148,7 +149,7 @@ bool checkWithYaspGrid(int refine, const std::string fileName="")
     typedef Dune::YaspGrid<dim> GridType;
 
     typename Dune::FieldVector<typename GridType::ctype,dim> L(1.0);
-    typename Dune::array<int,dim> s;
+    typename std::array<int,dim> s;
     std::fill(s.begin(), s.end(), 1);
 
     GridType grid(L, s);