diff --git a/src/TrapEndcapTracker_geo.cpp b/src/TrapEndcapTracker_geo.cpp
index 5a0d5064c06e27f544c6aeb3115cc5ec03dedee1..7db54551db08f67eb42b7189e512da5cf48366a8 100644
--- a/src/TrapEndcapTracker_geo.cpp
+++ b/src/TrapEndcapTracker_geo.cpp
@@ -157,7 +157,7 @@ static Ref_t create_detector(Detector& description, xml_h e, SensitiveDetector s
 
         if (!reflect) {
           DetElement module(sdet, m_base + "_pos", det_id);
-          pv = assembly.placeVolume(
+          pv = layer_vol.placeVolume(
               m_vol, Transform3D(RotationZYX(0, -M_PI / 2 - phi, -M_PI / 2), Position(x, y, zstart + dz)));
           pv.addPhysVolID("barrel", 1).addPhysVolID("layer", l_id).addPhysVolID("module", mod_num);
           module.setPlacement(pv);
@@ -167,7 +167,7 @@ static Ref_t create_detector(Detector& description, xml_h e, SensitiveDetector s
             comp_elt.setPlacement(sens_pv);
           }
         } else {
-          pv = assembly.placeVolume(
+          pv = layer_vol.placeVolume(
               m_vol, Transform3D(RotationZYX(0, -M_PI / 2 - phi, -M_PI / 2), Position(x, y, -zstart - dz)));
           pv.addPhysVolID("barrel", 2).addPhysVolID("layer", l_id).addPhysVolID("module", mod_num);
           DetElement r_module(sdet, m_base + "_neg", det_id);