diff --git a/istl/indexset.hh b/istl/indexset.hh
index 244b3aa01daccac75061512eab588c931b129699..a7386beb084c91b687ee9daca6754becfed95ea5 100644
--- a/istl/indexset.hh
+++ b/istl/indexset.hh
@@ -886,10 +886,13 @@ namespace Dune
     : indexSet_(indexset), size_(size),
       indices_(size_, static_cast<const IndexPair*>(0))
   {
+    assert(size>=indexset.size());
     const_iterator end_ = indexSet_.end();
     size_t i=0;
-    for(const_iterator pair = indexSet_.begin(); pair!=end_; ++pair, ++i)
+    for(const_iterator pair = indexSet_.begin(); pair!=end_; ++pair, ++i) {
+      assert(pair->local()<size_);
       indices_[pair->local()] = &(*pair);
+    }
   }
 
   template<class I>