diff --git a/core/meta/src/TClass.cxx b/core/meta/src/TClass.cxx
index 5b5de8826917c2ea79cfa869b1ed3259f22c9e85..fdfff077389357904c55e332e44da07e66017ec6 100644
--- a/core/meta/src/TClass.cxx
+++ b/core/meta/src/TClass.cxx
@@ -1825,7 +1825,7 @@ void TClass::BuildRealData(void* pointer, Bool_t isTransient)
    // Complain about stl classes ending up here (unique_ptr etc) - except for
    // pair where we will build .first, .second just fine
    // and those for which the user explicitly requested a dictionary.
-   if (GetState() != kHasTClassInit
+   if (!isTransient && GetState() != kHasTClassInit
        && TClassEdit::IsStdClass(GetName())
        && strncmp(GetName(), "pair<", 5) != 0) {
       Error("BuildRealData", "Inspection for %s not supported!", GetName());