diff --git a/dune/solvers/common/genericvectortools.hh b/dune/solvers/common/genericvectortools.hh
index 3357fbfd8294c0c1af93e05fead235299ed98337..269b8ff4512b1cba8e8e73a0d42f244867c2c9e5 100644
--- a/dune/solvers/common/genericvectortools.hh
+++ b/dune/solvers/common/genericvectortools.hh
@@ -41,23 +41,9 @@ struct GenericVector
     template <class VectorType>
     static void readBinary(std::istream& s, VectorType& v)
     {
-        Dune::Hybrid::forEach(v, [&](auto&& vi) {
-            GenericVector::readBinary(s, vi);
-        });
+        Dune::MatrixVector::Generic::readBinary(s, v);
     }
 
-    template <class field_type, int n>
-    static void readBinary(std::istream& s, Dune::FieldVector<field_type,n>& v)
-    {
-        typedef typename Dune::FieldVector<field_type,n> VectorType;
-        typename VectorType::iterator it = v.begin();
-        typename VectorType::iterator end = v.end();
-        for(; it!=end; ++it)
-            s.read(reinterpret_cast<char*>(&(*it)), sizeof(field_type));
-    }
-
-
-
     //! Resize vector recursivly to size of given vector/matrix
     template <class VectorTypeA, class VectorTypeB>
     static void resize(VectorTypeA& a, const VectorTypeB& b)