diff --git a/DDRec/include/DDRec/DetectorData.h b/DDRec/include/DDRec/DetectorData.h
index 50af66a03e2f138ee8a7ed99bb640e29bd84d9bb..dcf1162d4f89d0cab94008382ed73e480ca1d8d3 100644
--- a/DDRec/include/DDRec/DetectorData.h
+++ b/DDRec/include/DDRec/DetectorData.h
@@ -517,13 +517,22 @@ namespace dd4hep {
       const T& get(const std::string& key) const {
         auto it = variantParameters.find(key);
         if(it == variantParameters.end()) {
-          throw std::runtime_error{"Key "+key+"not found"};
+          throw std::runtime_error{"Key "+key+" not found"};
         }
         return boost::get<T>(it->second);
       }
 
       template <typename T>
-      T value_or(const std::string& key, T alternative) {
+      T& get(const std::string& key) {
+        auto it = variantParameters.find(key);
+        if(it == variantParameters.end()) {
+          throw std::runtime_error{"Key "+key+" not found"};
+        }
+        return boost::get<T>(it->second);
+      }
+
+      template <typename T>
+      T value_or(const std::string& key, T alternative) const {
         auto it = variantParameters.find(key);
         if(it == variantParameters.end()) {
           return alternative;