diff --git a/Control/xAODRootAccess/Root/Init.cxx b/Control/xAODRootAccess/Root/Init.cxx
index 023cf523819618945107c736b45a52f9847b8ece..e41f2cfb0c9fba1d30b0ce1699f923d5bd4a5175 100644
--- a/Control/xAODRootAccess/Root/Init.cxx
+++ b/Control/xAODRootAccess/Root/Init.cxx
@@ -75,13 +75,11 @@ namespace xAOD {
             "xAOD::PFO_v1",
             "xAOD::TrigElectron_v1",
             "xAOD::L2CombinedMuon_v1"}) {
-        TClass* cl = TClass::GetClass( name );
-        if( cl == nullptr ) {
-          std::cerr << "xAOD::Init: "
-                    << "Failed to load the dictionary for: "
-                    << name << std::endl;
-          return xAOD::TReturnCode::kFailure;
-        }
+        // silently ignore missing classes, because this gets used in
+        // all projects, and not all projects contain all xAOD classes
+        static constexpr Bool_t LOAD = kTRUE;
+        static constexpr Bool_t SILENT = kTRUE;
+        TClass::GetClass( name, LOAD, SILENT );
       }
 
       // Let the user know what happened: