diff --git a/Database/AthenaRoot/AthenaRootComps/src/xAODEventSelector.cxx b/Database/AthenaRoot/AthenaRootComps/src/xAODEventSelector.cxx
index 9f6aa3e2dc1b24fc6de89b24a61f28fb44bc7e16..e6fecbdf6d10a715663233a30edc64b7dd55d30d 100644
--- a/Database/AthenaRoot/AthenaRootComps/src/xAODEventSelector.cxx
+++ b/Database/AthenaRoot/AthenaRootComps/src/xAODEventSelector.cxx
@@ -285,7 +285,11 @@ StatusCode xAODEventSelector::initialize()
   //ensure the MetaDataSvc is added as a provider first, if we are in hybrid mode
   if(m_readMetadataWithPool) {
     std::vector<std::string> propVal;
-    CHECK( Gaudi::Parsers::parse( propVal , dynamic_cast<IProperty*>(&*m_ppSvc)->getProperty("ProviderNames").toString() ) );
+    IProperty* prop = dynamic_cast<IProperty*>(&*m_ppSvc);
+    if (!prop) {
+      return StatusCode::FAILURE;
+    }
+    CHECK( Gaudi::Parsers::parse( propVal , prop->getProperty("ProviderNames").toString() ) );
     bool foundSvc(false);
     for(auto s : propVal) {
       if(s=="MetaDataSvc") { foundSvc=true; break; }