diff --git a/Simulation/DetSimAna/src/Edm4hepWriterAnaElemTool.cpp b/Simulation/DetSimAna/src/Edm4hepWriterAnaElemTool.cpp
index 9ef16425454ad9a520659b07536d7ebf344018cc..954664bf21a5897f86285f1380299bf16068df1a 100644
--- a/Simulation/DetSimAna/src/Edm4hepWriterAnaElemTool.cpp
+++ b/Simulation/DetSimAna/src/Edm4hepWriterAnaElemTool.cpp
@@ -173,7 +173,7 @@ Edm4hepWriterAnaElemTool::EndOfEventAction(const G4Event* anEvent) {
                 }
 
                 dd4hep::sim::Geant4TrackerHit* trk_hit = dynamic_cast<dd4hep::sim::Geant4TrackerHit*>(h);
-                if (trk_hit) {
+                if (trk_hit && tracker_col_ptr) {
                     ++n_trk_hit;
                     // auto edm_trk_hit = trackercols->create();
                     auto edm_trk_hit = tracker_col_ptr->create();
@@ -192,10 +192,11 @@ Edm4hepWriterAnaElemTool::EndOfEventAction(const G4Event* anEvent) {
                                     trk_hit->momentum.y()/CLHEP::GeV,
                                     trk_hit->momentum.z()/CLHEP::GeV};
                     edm_trk_hit.setMomentum(edm4hep::Vector3f(mom));
+
                 }
 
                 dd4hep::sim::Geant4CalorimeterHit* cal_hit = dynamic_cast<dd4hep::sim::Geant4CalorimeterHit*>(h);
-                if (cal_hit) {
+                if (cal_hit && calo_col_ptr) {
                     ++n_cal_hit;
                     auto edm_calo_hit = calo_col_ptr->create();
                     edm_calo_hit.setCellID(cal_hit->cellID);
diff --git a/Simulation/DetSimGeom/src/AnExampleDetElemTool.cpp b/Simulation/DetSimGeom/src/AnExampleDetElemTool.cpp
index 0212a0e3d9b2c6fae5e608fcc540d57fa062b693..e78170bc5eaf9534a29126630458285166421772 100644
--- a/Simulation/DetSimGeom/src/AnExampleDetElemTool.cpp
+++ b/Simulation/DetSimGeom/src/AnExampleDetElemTool.cpp
@@ -115,7 +115,7 @@ AnExampleDetElemTool::ConstructSDandField() {
                     m_driftchamber_sdtool = ToolHandle<ISensDetTool>("DriftChamberSensDetTool");
                     if (m_driftchamber_sdtool) {
                         info() << "Find the DriftChamberSensDetTool" << endmsg;
-                        g4sd = m_calo_sdtool->createSD(nam);
+                        g4sd = m_driftchamber_sdtool->createSD(nam);
                     } else {
                         warning() << "DriftChamberSensDetTool is not found. " << endmsg;
                     }