diff --git a/dune/common/densematrix.hh b/dune/common/densematrix.hh
index 553862e4b71a962a6f647ac27d86c061fb615495..b4bb43b52eda21bee822f16f25166e1335ee9a14 100644
--- a/dune/common/densematrix.hh
+++ b/dune/common/densematrix.hh
@@ -251,7 +251,7 @@ namespace Dune
     //! rename the iterators for easier access
     typedef Iterator RowIterator;
     //! rename the iterators for easier access
-    typedef typename row_type::Iterator ColIterator;
+    typedef typename remove_reference<row_reference>::type::Iterator ColIterator;
 
     //! begin iterator
     Iterator begin ()
@@ -286,7 +286,7 @@ namespace Dune
     //! rename the iterators for easier access
     typedef ConstIterator ConstRowIterator;
     //! rename the iterators for easier access
-    typedef typename row_type::ConstIterator ConstColIterator;
+    typedef typename remove_reference<const_row_reference>::type::ConstIterator ConstColIterator;
 
     //! begin iterator
     ConstIterator begin () const