diff --git a/UtilityApps/src/display.cpp b/UtilityApps/src/display.cpp
index a7852b4612734a6b5055af974ce4fd9c0029bb66..9f9c2516dd616166c7faf1fd2779730311dcaa1b 100644
--- a/UtilityApps/src/display.cpp
+++ b/UtilityApps/src/display.cpp
@@ -17,24 +17,26 @@
 //______________________________________________________________________________
 int main(int argc,char** argv)  {
   std::vector<const char*> av;
-  std::string level, visopt, opt;
+  std::string level, visopt, opt, detector;
   bool dry = false;
   for(int i=0; i<argc; ++i)  {
     if ( i==1 && argv[i][0] != '-' ) av.push_back("-input");
-    if      ( strncmp(argv[i],"-load",4)   == 0 ) dry = true, av.push_back(argv[i]);
-    else if ( strncmp(argv[i],"-dry",4)    == 0 ) dry = true, av.push_back(argv[i]);
-    else if ( strncmp(argv[i],"-visopt",4) == 0 ) visopt = argv[i];
-    else if ( strncmp(argv[i],"-level", 4) == 0 ) level  = argv[i];
-    else if ( strncmp(argv[i],"-option",4) == 0 ) opt    = argv[i];
+    if      ( strncmp(argv[i],"-load",4)     == 0 ) dry = true, av.push_back(argv[i]);
+    else if ( strncmp(argv[i],"-dry",4)      == 0 ) dry = true, av.push_back(argv[i]);
+    else if ( strncmp(argv[i],"-visopt",4)   == 0 ) visopt   = argv[++i];
+    else if ( strncmp(argv[i],"-level", 4)   == 0 ) level    = argv[++i];
+    else if ( strncmp(argv[i],"-option",4)   == 0 ) opt      = argv[++i];
+    else if ( strncmp(argv[i],"-detector",4) == 0 ) detector = argv[++i];
     else av.push_back(argv[i]);
   }
   if ( !dry )   {
     av.push_back("-interactive");
     av.push_back("-plugin");
     av.push_back("DD4hep_GeometryDisplay");
-    if ( !opt.empty()    ) av.push_back("-opt"),    av.push_back(opt.c_str());
-    if ( !level.empty()  ) av.push_back("-level"),  av.push_back(level.c_str());
-    if ( !visopt.empty() ) av.push_back("-visopt"), av.push_back(visopt.c_str());
+    if ( !opt.empty()      ) av.push_back("-opt"),      av.push_back(opt.c_str());
+    if ( !level.empty()    ) av.push_back("-level"),    av.push_back(level.c_str());
+    if ( !visopt.empty()   ) av.push_back("-visopt"),   av.push_back(visopt.c_str());
+    if ( !detector.empty() ) av.push_back("-detector"), av.push_back(detector.c_str());
   }
   return dd4hep::execute::main_plugins("DD4hep_GeometryDisplay", av.size(), (char**)&av[0]);
 }