diff --git a/tree/treeplayer/inc/TTreeReaderArray.h b/tree/treeplayer/inc/TTreeReaderArray.h
index 8fafa121eae312df690f832b3e583d2ac50a24ac..ff6659fce751914ccf486a20918bc2e96a78c12c 100644
--- a/tree/treeplayer/inc/TTreeReaderArray.h
+++ b/tree/treeplayer/inc/TTreeReaderArray.h
@@ -52,7 +52,7 @@ namespace ROOT {
                                            TString& contentTypeName,
                                            TDictionary* &dict) const;
 
-      TCollectionReaderABC* fImpl; // Common interface to collections
+      TVirtualCollectionReader* fImpl; // Common interface to collections
 
       ClassDefT(TTreeReaderArrayBase, 0);//Accessor to member of an object stored in a collection
    };
diff --git a/tree/treeplayer/inc/TTreeReaderUtils.h b/tree/treeplayer/inc/TTreeReaderUtils.h
index 944b2e3558dd617f36c86c5b85f51118fc7e8a12..a64e5dab8be217d8732b6d9551762fdc7a0a57f4 100644
--- a/tree/treeplayer/inc/TTreeReaderUtils.h
+++ b/tree/treeplayer/inc/TTreeReaderUtils.h
@@ -60,13 +60,13 @@ namespace ROOT {
    };
 
    // Used by TTreeReaderArray
-   class TCollectionReaderABC {
+   class TVirtualCollectionReader {
    public:
       ROOT::TTreeReaderValueBase::EReadStatus fReadStatus;
 
-      TCollectionReaderABC() : fReadStatus(ROOT::TTreeReaderValueBase::kReadNothingYet) {}
+      TVirtualCollectionReader() : fReadStatus(ROOT::TTreeReaderValueBase::kReadNothingYet) {}
 
-      virtual ~TCollectionReaderABC();
+      virtual ~TVirtualCollectionReader();
       virtual size_t GetSize(TBranchProxy*) = 0;
       virtual void* At(TBranchProxy*, size_t /*idx*/) = 0;
    };
diff --git a/tree/treeplayer/src/TTreeReaderArray.cxx b/tree/treeplayer/src/TTreeReaderArray.cxx
index 662467149f9578a35a9446cd44df209f7a7bc019..692d3c81bbfe4d3ea3b8b2ad0df8ae0ccebdeb42 100644
--- a/tree/treeplayer/src/TTreeReaderArray.cxx
+++ b/tree/treeplayer/src/TTreeReaderArray.cxx
@@ -26,11 +26,11 @@
 #include "TRegexp.h"
 
 // pin vtable
-ROOT::TCollectionReaderABC::~TCollectionReaderABC() {}
+ROOT::TVirtualCollectionReader::~TVirtualCollectionReader() {}
 
 namespace {
    // Reader interface for clones arrays
-   class TClonesReader: public ROOT::TCollectionReaderABC {
+   class TClonesReader: public ROOT::TVirtualCollectionReader {
    public:
       ~TClonesReader() {}
       TClonesArray* GetCA(ROOT::TBranchProxy* proxy) {
@@ -59,7 +59,7 @@ namespace {
    };
 
    // Reader interface for STL
-   class TSTLReader: public ROOT::TCollectionReaderABC {
+   class TSTLReader: public ROOT::TVirtualCollectionReader {
    private:
       Bool_t proxySet;
    public:
@@ -109,7 +109,7 @@ namespace {
       }
    };
 
-   class TCollectionLessSTLReader : public ROOT::TCollectionReaderABC {
+   class TCollectionLessSTLReader : public ROOT::TVirtualCollectionReader {
    private:
       TVirtualCollectionProxy *localCollection;
       Bool_t proxySet;
@@ -166,7 +166,7 @@ namespace {
 
    // Reader interface for leaf list
    // SEE TTreeProxyGenerator.cxx:1319: '//We have a top level raw type'
-   class TObjectArrayReader: public ROOT::TCollectionReaderABC {
+   class TObjectArrayReader: public ROOT::TVirtualCollectionReader {
    public:
       ~TObjectArrayReader() {}
       TVirtualCollectionProxy* GetCP(ROOT::TBranchProxy* proxy) {
@@ -216,7 +216,7 @@ namespace {
       virtual size_t GetSize(ROOT::TBranchProxy* /*proxy*/) { return size; }
    };
 
-   class TBasicTypeArrayReader : public ROOT::TCollectionReaderABC {
+   class TBasicTypeArrayReader : public ROOT::TVirtualCollectionReader {
    public:
       ~TBasicTypeArrayReader() {}
 
@@ -256,7 +256,7 @@ namespace {
       }
    };
 
-   class TLeafReader : public ROOT::TCollectionReaderABC {
+   class TLeafReader : public ROOT::TVirtualCollectionReader {
    private:
       ROOT::TTreeReaderValueBase *valueReader;
    public: