diff --git a/DDRec/src/DetectorSurfaces.cpp b/DDRec/src/DetectorSurfaces.cpp index ca3cdd20cc12ff8713e18cda5894232ceb2d4047..288a643f661a3037aa43158d681033fdfdd4404b 100644 --- a/DDRec/src/DetectorSurfaces.cpp +++ b/DDRec/src/DetectorSurfaces.cpp @@ -35,8 +35,10 @@ namespace dd4hep { const VolSurfaceList* vsL = volSurfaceList(det) ; try { - _sL = det.extension< SurfaceList >() ; - + _sL = det.extension< SurfaceList >(false) ; + if (not _sL) { + _sL = det.addExtension<SurfaceList >( new SurfaceList( true ) ) ; + } } catch(const std::exception& e) { _sL = det.addExtension<SurfaceList >( new SurfaceList( true ) ) ; }