diff --git a/dune/matrix-vector/singlenonzerorowmatrix.hh b/dune/matrix-vector/singlenonzerorowmatrix.hh
index 8346739bb27102b9aaf25dbf4cf156cb422428ec..1dd1bc7567ac4ef10eee9b5ce433576e8cae1a70 100644
--- a/dune/matrix-vector/singlenonzerorowmatrix.hh
+++ b/dune/matrix-vector/singlenonzerorowmatrix.hh
@@ -9,137 +9,6 @@
 #include <dune/fufem/arithmetic.hh>
 #include <dune/fufem/indexedsliceiterator.hh>
 
-
-
-/**
- * \brief A static matrix that has only a single nonzero column
- *
- * The number and values of this column are dynamic.
- * For simplicity this derives from FieldMatrix and sets
- * all entries accordingly. So it will not reduce memory
- * requirements but allows to implement methods more efficiently.
- */
-template<class K, int ROWS, int COLS>
-class SingleNonZeroColumnMatrix
-{
-    class RowProxy
-    {
-    public:
-        typedef IndexedSliceIterator<const K*, const K> ConstIterator;
-        typedef ConstIterator const_iterator;
-
-        RowProxy(const K& value, size_type nzCol) :
-            value_(value),
-            nzCol_(nzCol)
-        {}
-
-        ConstIterator begin() const
-        {
-            return ConstIterator(value_, nzCol, 0, 1);
-        }
-
-        ConstIterator end() const
-        {
-            return ConstIterator(value_, nzCol+1, 0, 1);
-        }
-
-    protected:
-        const K* value_;
-        size_type nzCol_;
-    };
-
-public:
-    typedef RowProxy row_type;
-    typedef row_type const_row_reference;
-    typedef std::size_t size_type;
-    typedef RowProxy::ConstIterator ConstColIterator;
-
-    typedef typename Dune::FieldMatrix<K, ROWS, 1> SingleColumnMatrix;
-
-    /**
-     * \brief Create from single column matrix and column index
-     */
-    SingleNonZeroColumnMatrix(const SingleColumnMatrix& c, size_type columnIndex) :
-        nonZeroColumn_(c),
-        columnIndex_(columnIndex)
-    {}
-
-    size_type N() const
-    {
-        return ROWS;
-    }
-
-    size_type M() const
-    {
-        return COLS;
-    }
-
-    template<class X , class Y >
-    void umv(const X& x, Y& y) const
-    {
-        for(size_type i=0; i<N(); ++i)
-            y[i] += nonZeroColumn_[i] * x[columnIndex_];
-    }
-
-    template<class X , class Y >
-    void umtv(const X& x, Y& y) const
-    {
-        for(size_type i=0; i<N()::rows; ++i)
-            y[columnIndex_] = nonZeroColumn_[i] * x[i];
-    }
-
-    template<class X , class Y >
-    void mtv(const X& x, Y& y) const
-    {
-        y = 0.0;
-        umtv(x, y);
-    }
-
-    const_row_reference operator[] (size_type rowIndex) const
-    {
-        return const_row_reference(nonZeroColumn_[rowIndex], columnIndex_);
-    }
-
-    size_type nonZeroColumnIndex() const
-    {
-        return columnIndex_;
-    }
-
-protected:
-    SingleColumnMatrix nonZeroColumn_;
-
-    const size_type columnIndex_;
-};
-
-
-
-namespace Arithmetic
-{
-    template<class K, int ROWS, int COLS>
-    struct MatrixTraits<SingleNonZeroColumnMatrix<K, ROWS, COLS> >
-    {
-        enum { isMatrix = true };
-        enum { sizeIsStatic = true };
-        enum { rows = ROWS};
-        enum { cols = COLS};
-        typedef SingleNonZeroColumnMatrix<K, ROWS, COLS>::ConstColIterator ConstColIterator;
-
-        static ConstColIterator rowBegin(const typename SingleNonZeroColumnMatrix<K, ROWS, COLS>::row_type& m, int row)
-        {
-            int nzCol = m.nonZeroColumnIndex();
-            return ConstColIterator(m[row][nzCol], nzCol);
-        }
-
-        static ConstColIterator rowEnd(const typename SingleNonZeroColumnMatrix<K, ROWS, COLS>::row_type& m, int row)
-        {
-            int nzCol = m.nonZeroColumnIndex();
-            return ConstColIterator(m[row][nzCol], nzCol+1);
-        }
-    };
-};
-
-
-
 /**
  * \brief A static matrix that has only a single nonzero row
  *