diff --git a/examples/DDDB/src/plugins/DDDBExecutor.cpp b/examples/DDDB/src/plugins/DDDBExecutor.cpp
index 70c556ecc40b3789a430d845ff68d971270139db..1f4cef926e3ccc77a5cd9e5410a023024bb5a0f9 100644
--- a/examples/DDDB/src/plugins/DDDBExecutor.cpp
+++ b/examples/DDDB/src/plugins/DDDBExecutor.cpp
@@ -165,18 +165,21 @@ static long load_xml_dddb(Detector& description, int argc, char** argv) {
     Path path = sys_id;
     sys_id = path.normalize().c_str();
 
+    xml::UriReader* resolver = 0;
+    if ( !loader_name.empty() )  {
+      DDDBReader* rdr = (DDDBReader*)dd4hep::PluginService::Create<void*>(loader_name,(const char*)0);
+      rdr->setMatch(match);
+      rdr->setDirectory(path.parent_path().c_str());
+      if ( iov_start >= 0 && iov_end >= 0 )   {
+        rdr->property("ValidityLower").set(iov_start);
+        rdr->property("ValidityUpper").set(iov_end);
+      }
+      resolver = rdr;
+    }
     /// Install helper
     {
-      description.apply("DDDB_InstallHelper", 0, 0);
-    }
-
-    DDDBHelper* helper = description.extension<DDDBHelper>();
-    DDDBReader* resolver = 0;
-    if ( !loader_name.empty() )  {
-      resolver = (DDDBReader*)dd4hep::PluginService::Create<void*>(loader_name,(const char*)0);
-      resolver->setMatch(match);
-      resolver->setDirectory(path.parent_path().c_str());
-      helper->setXmlReader(resolver);
+      const void *args[] = {resolver, 0};
+      description.apply("DDDB_InstallHelper", 1, (char**)args);
     }
 
     /// Execute config plugins without arguments
@@ -202,10 +205,6 @@ static long load_xml_dddb(Detector& description, int argc, char** argv) {
     /// Process XML
     if ( !sys_id.empty() )   {
       printout(INFO,"DDDBExecutor","+++ Processing DDDB: %s", sys_id.c_str());
-      if ( iov_start >= 0 && iov_end >= 0 )   {
-        resolver->property("ValidityLower").set(iov_start);
-        resolver->property("ValidityUpper").set(iov_end);
-      }
       const void* args[] = {0, sys_id.c_str(), "/", &event_time, 0};
       result = description.apply("DDDB_Loader", 4, (char**)args);
       check_result(result);