diff --git a/dune/istl/basearray.hh b/dune/istl/basearray.hh
index bc0d8a3ca945867c28c0b76442d18b02e5b7f192..61d1ab6fa3e01bcca1fc4d76f6deeb5ecd3da63e 100644
--- a/dune/istl/basearray.hh
+++ b/dune/istl/basearray.hh
@@ -39,6 +39,8 @@ namespace Dune {
    \todo There shouldn't be an allocator argument here, because the array is 'unmanaged'.
          And indeed, of the allocator, only its size_type is used.  Hence, the signature
          of this class should be changed to <class B, int stype>
+
+   \internal This class is an implementation detail, and should not be used outside of dune-istl.
    */
   template<class B, class A=std::allocator<B> >
   class base_array_unmanaged
@@ -270,6 +272,7 @@ namespace Dune {
            Error checking: no error checking is provided normally.
            Setting the compile time switch DUNE_ISTL_WITH_CHECKING
            enables error checking.
+   \internal This class is an implementation detail, and should not be used outside of dune-istl.
    */
   template<class B, class A=std::allocator<B> >
   class base_array_window : public base_array_unmanaged<B,A>
@@ -360,6 +363,7 @@ namespace Dune {
             Error checking: no error checking is provided normally.
             Setting the compile time switch DUNE_ISTL_WITH_CHECKING
             enables error checking.
+   \internal This class is an implementation detail, and should not be used outside of dune-istl.
    */
   template<class B, class A=std::allocator<B> >
   class base_array : public base_array_unmanaged<B,A>
@@ -515,6 +519,8 @@ namespace Dune {
            Error checking: no error checking is provided normally.
            Setting the compile time switch DUNE_ISTL_WITH_CHECKING
            enables error checking.
+
+    \internal This class is an implementation detail, and should not be used outside of dune-istl.
    */
   template<class B, class A=std::allocator<B> >
   class compressed_base_array_unmanaged
diff --git a/dune/istl/bvector.hh b/dune/istl/bvector.hh
index 71d51e3b7afedc956d3cdc7a13552bde9bf02bb5..d88b02e6f522642a9ee977050514cf645bf0fbc0 100644
--- a/dune/istl/bvector.hh
+++ b/dune/istl/bvector.hh
@@ -38,6 +38,8 @@ namespace Dune {
           Error checking: no error checking is provided normally.
           Setting the compile time switch DUNE_ISTL_WITH_CHECKING
           enables error checking.
+
+   \internal This class is an implementation detail, and should not be used outside of dune-istl.
    */
   template<class B, class A=std::allocator<B> >
   class block_vector_unmanaged : public base_array_unmanaged<B,A>
@@ -636,6 +638,8 @@ namespace Dune {
           Error checking: no error checking is provided normally.
           Setting the compile time switch DUNE_ISTL_WITH_CHECKING
           enables error checking.
+
+   \internal This class is an implementation detail, and should not be used outside of dune-istl.
    */
 #ifndef DOXYGEN
   template<class B, class A>
@@ -759,6 +763,8 @@ namespace Dune {
           Error checking: no error checking is provided normally.
           Setting the compile time switch DUNE_ISTL_WITH_CHECKING
           enables error checking.
+
+   \internal This class is an implementation detail, and should not be used outside of dune-istl.
    */
   template<class B, class A=std::allocator<B> >
   class compressed_block_vector_unmanaged : public compressed_base_array_unmanaged<B,A>
@@ -1011,6 +1017,8 @@ namespace Dune {
           Error checking: no error checking is provided normally.
           Setting the compile time switch DUNE_ISTL_WITH_CHECKING
           enables error checking.
+
+   \internal This class is an implementation detail, and should not be used outside of dune-istl.
    */
   template<class B, class A=std::allocator<B> >
   class CompressedBlockVectorWindow : public compressed_block_vector_unmanaged<B,A>