diff --git a/examples/LHeD/src/Lhe_SubdetectorAssembly_geo.cpp b/examples/LHeD/src/Lhe_SubdetectorAssembly_geo.cpp
index d3c1806bef2528acca7c9d2e8a560c5138212c75..4fc34bc2ca7e9ba5794de0e965844afd589465bd 100644
--- a/examples/LHeD/src/Lhe_SubdetectorAssembly_geo.cpp
+++ b/examples/LHeD/src/Lhe_SubdetectorAssembly_geo.cpp
@@ -58,12 +58,6 @@ static Ref_t create_element(Detector& description, xml_h e, Ref_t)  {
     vol = Assembly(det_name);
   }
 
-  for(xml_coll_t c(x_det,_U(composite)); c; ++c)  {
-    xml_dim_t component = c;
-    string nam = component.nameStr();
-    description.declareParent(nam, sdet);
-  }
-
   vol.setAttributes(description,x_det.regionStr(),x_det.limitsStr(),x_det.visStr());
 
   Volume mother = description.pickMotherVolume(sdet);
@@ -79,6 +73,12 @@ static Ref_t create_element(Detector& description, xml_h e, Ref_t)  {
   }
 
   sdet.setPlacement(pv);
+  
+  for(xml_coll_t c(x_det,_U(composite)); c; ++c)  {
+    xml_dim_t component = c;
+    string nam = component.nameStr();
+    description.declareParent(nam, sdet);
+  }
   return sdet;
 }