diff --git a/io/src/TKey.cxx b/io/src/TKey.cxx
index 2f66f37b353cfcaabce7c50eb302d4630b25ac8c..e376b1621a4387a13cc9cb22d68059995d964435 100644
--- a/io/src/TKey.cxx
+++ b/io/src/TKey.cxx
@@ -745,7 +745,7 @@ TObject *TKey::ReadObj()
 
    if (gROOT->GetForceStyle()) tobj->UseCurrentStyle();
 
-   if (cl == TDirectoryFile::Class()) {
+   if (cl->InheritsFrom(TDirectoryFile::Class())) {
       TDirectory *dir = dynamic_cast<TDirectoryFile*>(tobj);
       dir->SetName(GetName());
       dir->SetTitle(GetTitle());