diff --git a/src/ci_HCAL.cpp b/src/ci_HCAL.cpp
index bae5fd87811002feebefc3910dbab052c1bc0d07..8cd0cc7413932732045288bcd5f8e73ca5b2ed7d 100644
--- a/src/ci_HCAL.cpp
+++ b/src/ci_HCAL.cpp
@@ -36,6 +36,8 @@ static Ref_t createDetector(Detector& desc, xml_h handle, SensitiveDetector sens
   	std::string layer_name = detName + _toString(x_layer.id(), "_layer%d");
     Volume layer_vol(layer_name, ci_Hcal_detSolid, mat_iron);
     layer_vol.setVisAttributes(detElem.visStr());
+    sens.setType("calorimeter");
+    layer_vol.setSensitiveDetector(sens);
   	Position layer_pos(0, 0, x_layer.z());
   	PlacedVolume layer_phv = envelopeVol.placeVolume(layer_vol, layer_pos);
   	layer_phv.addPhysVolID("layer", x_layer.id());
@@ -45,6 +47,7 @@ static Ref_t createDetector(Detector& desc, xml_h handle, SensitiveDetector sens
   Volume       motherVol = desc.pickMotherVolume(det);
   Transform3D  tr(RotationZYX(0,0,0), Position(0, 0, ShiftZ));
   PlacedVolume detPV     = motherVol.placeVolume(envelopeVol, tr);
+  detPV.addPhysVolID("system", detID);
   det.setPlacement(detPV);
 
   return det;