diff --git a/io/io/inc/TVirtualCollectionIterators.h b/io/io/inc/TVirtualCollectionIterators.h
index d07e658e3b6bd4296757a0f8000ae67b63ea5d23..e25e358e8b00b7ec8d8ab83a3431c63741044940 100644
--- a/io/io/inc/TVirtualCollectionIterators.h
+++ b/io/io/inc/TVirtualCollectionIterators.h
@@ -101,6 +101,9 @@ private:
    char  fRawEndBuffer[TVirtualCollectionProxy::fgIteratorArenaSize];
 
    struct TInternalIterator {
+   private:
+      TInternalIterator &operator=(const TInternalIterator&); // intentionally not implemented
+   public:
       TInternalIterator() : fCopy(0),fDelete(0),fNext(0),fIter(0) {}
       TInternalIterator(const TInternalIterator &source) : fCopy(source.fCopy),fDelete(source.fDelete),fNext(source.fNext),fIter(0) {}