diff --git a/dumux/decoupled/2p/diffusion/mimetic/croperator2p.hh b/dumux/decoupled/2p/diffusion/mimetic/croperator2p.hh
index 13930e7489ed81893c339fc58283db5e4a8a9722..f44d676d8558f538485f597caa24c7cfa96de97d 100644
--- a/dumux/decoupled/2p/diffusion/mimetic/croperator2p.hh
+++ b/dumux/decoupled/2p/diffusion/mimetic/croperator2p.hh
@@ -92,7 +92,7 @@ class CROperatorAssemblerTwoP
     typedef typename MatrixType::block_type MBlockType;
     typedef typename MatrixType::RowIterator rowiterator;
     typedef typename MatrixType::ColIterator coliterator;
-    typedef Dune::array<BoundaryConditions::Flags,1> BCBlockType;     // componentwise boundary conditions
+    typedef std::array<BoundaryConditions::Flags,1> BCBlockType;     // componentwise boundary conditions
     typedef Dune::BlockVector< Dune::FieldVector<double,1> > SatType;
     typedef Dune::MultipleCodimMultipleGeomTypeMapper<GridView,FaceLayout> FaceMapper;
 
diff --git a/dumux/decoupled/2p/diffusion/mimetic/croperator2padaptive.hh b/dumux/decoupled/2p/diffusion/mimetic/croperator2padaptive.hh
index 6f14920971bd9b40c1e9917b311c6cb6c187cd45..0d87d35f524782c4fd3f0d5e7e770b272588bca8 100644
--- a/dumux/decoupled/2p/diffusion/mimetic/croperator2padaptive.hh
+++ b/dumux/decoupled/2p/diffusion/mimetic/croperator2padaptive.hh
@@ -92,7 +92,7 @@ class CROperatorAssemblerTwoPAdaptive
     typedef typename MatrixType::block_type MBlockType;
     typedef typename MatrixType::RowIterator rowiterator;
     typedef typename MatrixType::ColIterator coliterator;
-    typedef Dune::array<BoundaryConditions::Flags,1> BCBlockType;     // componentwise boundary conditions
+    typedef std::array<BoundaryConditions::Flags,1> BCBlockType;     // componentwise boundary conditions
     typedef Dune::BlockVector< Dune::FieldVector<double,1> > SatType;
     typedef Dumux::IntersectionMapper<GridView> IntersectionMapper;
 
diff --git a/dumux/decoupled/2p/diffusion/mimetic/localstiffness.hh b/dumux/decoupled/2p/diffusion/mimetic/localstiffness.hh
index 9f6a793b69e8a80a044f0b15fdf1b13bf175df85..7b97daddd65a14daa6a7698664fb86864f4054b4 100644
--- a/dumux/decoupled/2p/diffusion/mimetic/localstiffness.hh
+++ b/dumux/decoupled/2p/diffusion/mimetic/localstiffness.hh
@@ -20,6 +20,7 @@
 #ifndef DUMUX_LOCAL_STIFFNESS_HH
 #define DUMUX_LOCAL_STIFFNESS_HH
 
+#include <array>
 #include<iostream>
 #include<vector>
 #include<set>
@@ -28,7 +29,6 @@
 #include<dune/common/timer.hh>
 #include<dune/common/fvector.hh>
 #include<dune/common/fmatrix.hh>
-#include<dune/common/array.hh>
 #include<dune/geometry/type.hh>
 #include<dune/grid/common/grid.hh>
 #include<dune/istl/operators.hh>
@@ -76,7 +76,7 @@ namespace Dumux
     // types for matrics, vectors and boundary conditions
     typedef Dune::FieldMatrix<Scalar,m,m> MBlockType;                      // one entry in the stiffness matrix
     typedef Dune::FieldVector<Scalar,m> VBlockType;                        // one entry in the global vectors
-        typedef Dune::array<Dumux::BoundaryConditions::Flags,m> BCBlockType; // componentwise boundary conditions
+        typedef std::array<Dumux::BoundaryConditions::Flags,m> BCBlockType; // componentwise boundary conditions
         typedef typename GET_PROP_TYPE(TypeTag, BoundaryTypes) BoundaryTypes;
 
     virtual ~LocalStiffness ()
@@ -256,7 +256,7 @@ namespace Dumux
     // types for matrics, vectors and boundary conditions
       typedef Dune::FieldMatrix<Scalar,m,m> MBlockType;                      // one entry in the stiffness matrix
       typedef Dune::FieldVector<Scalar,m> VBlockType;                        // one entry in the global vectors
-      typedef Dune::array<Dumux::BoundaryConditions::Flags,m> BCBlockType; // componentwise boundary conditions
+      typedef std::array<Dumux::BoundaryConditions::Flags,m> BCBlockType;    // componentwise boundary conditions
 
     /*! initialize local stiffness matrix */
       LinearLocalStiffness ()
diff --git a/dumux/implicit/mpnc/energy/mpncvtkwriterenergykinetic.hh b/dumux/implicit/mpnc/energy/mpncvtkwriterenergykinetic.hh
index a5f2d047760c79a512abff661065cbd49cc324b5..91af2a143bff6a3db04dcd2acff06f4ae67e10c6 100644
--- a/dumux/implicit/mpnc/energy/mpncvtkwriterenergykinetic.hh
+++ b/dumux/implicit/mpnc/energy/mpncvtkwriterenergykinetic.hh
@@ -72,11 +72,11 @@ class MPNCVtkWriterEnergy<TypeTag, /*enableEnergy = */ true, /* numEnergyEquatio
     typedef typename ParentType::ScalarVector ScalarVector;
     typedef typename ParentType::PhaseVector PhaseVector;
     typedef typename ParentType::ComponentVector ComponentVector;
-    typedef Dune::array<ScalarVector, numEnergyEqs> EnergyEqVector;
+    typedef std::array<ScalarVector, numEnergyEqs> EnergyEqVector;
 
     typedef Dune::FieldVector<Scalar, dimWorld> DimWorldVector;
     typedef Dune::BlockVector<DimWorldVector> DimWorldField;
-    typedef Dune::array<DimWorldField, numPhases> PhaseDimWorldField;
+    typedef std::array<DimWorldField, numPhases> PhaseDimWorldField;
 
 
 public:
@@ -321,11 +321,11 @@ class MPNCVtkWriterEnergy<TypeTag, /*enableEnergy = */ true, /* numEnergyEquatio
     typedef typename ParentType::ScalarVector ScalarVector;
     typedef typename ParentType::PhaseVector PhaseVector;
     typedef typename ParentType::ComponentVector ComponentVector;
-    typedef Dune::array<ScalarVector, numEnergyEqs> EnergyEqVector;
+    typedef std::array<ScalarVector, numEnergyEqs> EnergyEqVector;
 
     typedef Dune::FieldVector<Scalar, dimWorld> DimWorldVector;
     typedef Dune::BlockVector<DimWorldVector> DimWorldField;
-    typedef Dune::array<DimWorldField, numPhases> PhaseDimWorldField;
+    typedef std::array<DimWorldField, numPhases> PhaseDimWorldField;
 
 
 public:
diff --git a/dumux/implicit/mpnc/mpncmodelkinetic.hh b/dumux/implicit/mpnc/mpncmodelkinetic.hh
index c012877b9c308d7daff64e17ba2fefdd7f8f1362..710e627ce158bde020977d7d3981affcf7fac03f 100644
--- a/dumux/implicit/mpnc/mpncmodelkinetic.hh
+++ b/dumux/implicit/mpnc/mpncmodelkinetic.hh
@@ -74,13 +74,13 @@ class MPNCModelKinetic : public MPNCModel<TypeTag>
 
     typedef Dune::FieldVector<Scalar, dimWorld> GlobalPosition;
     typedef Dune::BlockVector<GlobalPosition>                GlobalPositionField;
-    typedef Dune::array<GlobalPositionField, numPhases>      PhaseGlobalPositionField;
+    typedef std::array<GlobalPositionField, numPhases>      PhaseGlobalPositionField;
 
     typedef std::vector<Dune::FieldVector<Scalar, 1> >  ScalarVector;
-    typedef Dune::array<ScalarVector, numPhases>         PhaseVector;
+    typedef std::array<ScalarVector, numPhases>         PhaseVector;
     typedef Dune::FieldVector<Scalar, dim>              DimVector;
     typedef Dune::BlockVector<DimVector>                DimVectorField;
-    typedef Dune::array<DimVectorField, numPhases>       PhaseDimVectorField;
+    typedef std::array<DimVectorField, numPhases>       PhaseDimVectorField;
 
 public:
     /*!
diff --git a/dumux/implicit/mpnc/mpncvtkwritercommon.hh b/dumux/implicit/mpnc/mpncvtkwritercommon.hh
index 898446bdfcbbfc6a7f26e377e27489a3c5608f48..8f198bd929005a6fa5eff64356f6f07f6678c937 100644
--- a/dumux/implicit/mpnc/mpncvtkwritercommon.hh
+++ b/dumux/implicit/mpnc/mpncvtkwritercommon.hh
@@ -63,7 +63,7 @@ class MPNCVtkWriterCommon : public MPNCVtkWriterModule<TypeTag>
 
     typedef Dune::FieldVector<Scalar, dimWorld> DimWorldVector;
     typedef Dune::BlockVector<DimWorldVector> DimWorldField;
-    typedef Dune::array<DimWorldField, numPhases> PhaseDimWorldField;
+    typedef std::array<DimWorldField, numPhases> PhaseDimWorldField;
     enum { isBox = GET_PROP_VALUE(TypeTag, ImplicitIsBox) };
     enum { dofCodim = isBox ? dim : 0 };
 
diff --git a/dumux/implicit/mpnc/mpncvtkwritermodule.hh b/dumux/implicit/mpnc/mpncvtkwritermodule.hh
index 855927216229fa28747563c2710faae923b216dd..9be4de867b8cdedc927e94538784fa9686d75304 100644
--- a/dumux/implicit/mpnc/mpncvtkwritermodule.hh
+++ b/dumux/implicit/mpnc/mpncvtkwritermodule.hh
@@ -26,9 +26,9 @@
 #ifndef DUMUX_MPNC_VTK_BASE_WRITER_HH
 #define DUMUX_MPNC_VTK_BASE_WRITER_HH
 
+#include <array>
 #include <cstdio>
 
-#include <dune/common/array.hh>
 #include <dune/istl/bvector.hh>
 
 #include <dumux/io/vtkmultiwriter.hh>
@@ -63,9 +63,9 @@ class MPNCVtkWriterModule
 
 public:
     typedef std::vector<Dune::FieldVector<Scalar, 1> > ScalarVector;
-    typedef Dune::array<ScalarVector, numPhases> PhaseVector;
-    typedef Dune::array<ScalarVector, numComponents> ComponentVector;
-    typedef Dune::array<ComponentVector,  numPhases> PhaseComponentMatrix;
+    typedef std::array<ScalarVector, numPhases> PhaseVector;
+    typedef std::array<ScalarVector, numComponents> ComponentVector;
+    typedef std::array<ComponentVector,  numPhases> PhaseComponentMatrix;
 
     MPNCVtkWriterModule(const Problem &problem)
         : problem_(problem)
diff --git a/dumux/io/cubegridcreator.hh b/dumux/io/cubegridcreator.hh
index 8991d59a0db796eb2c96c7ac178b37c6c2330ef6..dbf973326249544e22b6df2f4cc1625f7fc2fbfb 100644
--- a/dumux/io/cubegridcreator.hh
+++ b/dumux/io/cubegridcreator.hh
@@ -60,7 +60,7 @@ public:
      */
     static void makeGrid()
     {
-        Dune::array< unsigned int, dim > cellRes;
+        std::array< unsigned int, dim > cellRes;
         Dune::FieldVector<Scalar, dim> upperRight;
         Dune::FieldVector<Scalar, dim> lowerLeft;
 
diff --git a/dumux/io/simplexgridcreator.hh b/dumux/io/simplexgridcreator.hh
index c5babd54b2bfac3d8b4b5662b48e371c5f235f3f..b48781d7ef0c3434ec1613d82eda47749229b02f 100644
--- a/dumux/io/simplexgridcreator.hh
+++ b/dumux/io/simplexgridcreator.hh
@@ -58,7 +58,7 @@ public:
      */
     static void makeGrid()
     {
-        Dune::array< unsigned int, dim > cellRes;
+        std::array< unsigned int, dim > cellRes;
         Dune::FieldVector<Scalar, dim> upperRight;
         Dune::FieldVector<Scalar, dim> lowerLeft;
 
diff --git a/dumux/material/fluidstates/pressureoverlayfluidstate.hh b/dumux/material/fluidstates/pressureoverlayfluidstate.hh
index d0b10c877c15bb113c2bd6d337e80ac6170fe956..37cd5b541e97183556d7123a09ab83879def9923 100644
--- a/dumux/material/fluidstates/pressureoverlayfluidstate.hh
+++ b/dumux/material/fluidstates/pressureoverlayfluidstate.hh
@@ -26,7 +26,7 @@
 #ifndef DUMUX_PRESSURE_OVERLAY_FLUID_STATE_HH
 #define DUMUX_PRESSURE_OVERLAY_FLUID_STATE_HH
 
-#include <dune/common/array.hh>
+#include <array>
 
 #include <dumux/common/valgrind.hh>
 
@@ -205,7 +205,7 @@ public:
 
 protected:
     const FluidState *fs_;
-    Dune::array<Scalar, numPhases> pressure_;
+    std::array<Scalar, numPhases> pressure_;
 };
 
 } // end namespace Dumux
diff --git a/dumux/material/fluidstates/saturationoverlayfluidstate.hh b/dumux/material/fluidstates/saturationoverlayfluidstate.hh
index 29e19f95a58aa9b569c8e8f16d9bcea0d6ac10cd..7a0c41acf5a43f16c9ba70960413b5aeea3c6df1 100644
--- a/dumux/material/fluidstates/saturationoverlayfluidstate.hh
+++ b/dumux/material/fluidstates/saturationoverlayfluidstate.hh
@@ -26,7 +26,7 @@
 #ifndef DUMUX_SATURATION_OVERLAY_FLUID_STATE_HH
 #define DUMUX_SATURATION_OVERLAY_FLUID_STATE_HH
 
-#include <dune/common/array.hh>
+#include <array>
 
 #include <dumux/common/valgrind.hh>
 
@@ -204,7 +204,7 @@ public:
 
 protected:
     const FluidState *fs_;
-    Dune::array<Scalar, numPhases> saturation_;
+    std::array<Scalar, numPhases> saturation_;
 };
 
 } // end namespace Dumux
diff --git a/test/decoupled/1p/test_diffusion.cc b/test/decoupled/1p/test_diffusion.cc
index fe0fe5b5213cc9835d2d1f891e5146a0b4aa84f3..eba6c664713a30e88284e04a9c68e468d13d662c 100644
--- a/test/decoupled/1p/test_diffusion.cc
+++ b/test/decoupled/1p/test_diffusion.cc
@@ -69,7 +69,7 @@ int main(int argc, char** argv)
         ////////////////////////////////////////////////////////////
         // create the grid
         ////////////////////////////////////////////////////////////
-        Dune::array<unsigned int, dim> cellRes;
+        std::array<unsigned int, dim> cellRes;
         cellRes.fill(1);
         GlobalPosition lowerLeft(0.0);
         GlobalPosition upperRight(1.0);
diff --git a/test/decoupled/2p2c/test_multiphysics2p2c.cc b/test/decoupled/2p2c/test_multiphysics2p2c.cc
index 070d8d765b8ba31f96a4ead7760aabcc4f033b5b..7e7dddbaf37a57069271497e0d01c2d064bb072a 100644
--- a/test/decoupled/2p2c/test_multiphysics2p2c.cc
+++ b/test/decoupled/2p2c/test_multiphysics2p2c.cc
@@ -24,6 +24,7 @@
  */
 #include "config.h"
 
+#include <array>
 #include <iostream>
 
 #include <dune/common/exceptions.hh>
@@ -90,7 +91,7 @@ int main(int argc, char** argv)
         ////////////////////////////////////////////////////////////
         // create the grid
         ////////////////////////////////////////////////////////////
-        Dune::array<int,dim> N;
+        std::array<int,dim> N;
         std::fill(N.begin(), N.end(), 10);
         Dune::FieldVector<double,dim> H(10.0);
         Grid grid(H, N);
diff --git a/test/implicit/mpnc/evaporationatmosphereproblem.hh b/test/implicit/mpnc/evaporationatmosphereproblem.hh
index 5b4338d40645d22ef4650ca337d967abc7253d22..4319a0df0f01dfd2fe87cd48713512851c1de500 100644
--- a/test/implicit/mpnc/evaporationatmosphereproblem.hh
+++ b/test/implicit/mpnc/evaporationatmosphereproblem.hh
@@ -234,10 +234,10 @@ class EvaporationAtmosphereProblem
     typedef Dune::FieldVector<typename GridView::Grid::ctype, dimWorld> GlobalPosition;
 
     typedef std::vector<Dune::FieldVector<Scalar, 1> >  ScalarBuffer;
-    typedef Dune::array<ScalarBuffer, numPhases>         PhaseBuffer;
+    typedef std::array<ScalarBuffer, numPhases>         PhaseBuffer;
     typedef Dune::FieldVector<Scalar, dim>              DimVector;
     typedef Dune::BlockVector<DimVector>           VelocityField;
-    typedef Dune::array<VelocityField, numPhases>        PhaseVelocityField;
+    typedef std::array<VelocityField, numPhases>        PhaseVelocityField;
 
 public:
     /*!