diff --git a/geom/geom/src/TGeoNavigator.cxx b/geom/geom/src/TGeoNavigator.cxx index d3fae795c962cff2af37f2bbcb135c1193629cdb..6c0d79697748191be9668c6dc3dda2a1fe0bb2a0 100644 --- a/geom/geom/src/TGeoNavigator.cxx +++ b/geom/geom/src/TGeoNavigator.cxx @@ -1179,7 +1179,8 @@ TGeoNode *TGeoNavigator::FindNextDaughterBoundary(Double_t *point, Double_t *dir current->cd(); current->MasterToLocal(point, lpoint); current->MasterToLocalVect(dir, ldir); - if (current->IsOverlapping() && current->GetVolume()->Contains(lpoint)) continue; + if (current->IsOverlapping() && current->GetVolume()->Contains(lpoint) && + current->GetVolume()->GetShape()->Safety(lpoint, kTRUE) > gTolerance) continue; snext = current->GetVolume()->GetShape()->DistFromOutside(lpoint, ldir, 3, fStep); sumchecked++; // printf("checked %d from %d : snext=%g\n", sumchecked, nd, snext);