I see.  I guess then it's not such a quick fix if we want to disentangle these.

I haven't gone through everything in detail yet, but I notice that distribcell_offset duplicates a lot of the code in find_cell.  Would it be possible to do what you need to do directly in find_cell itself, and store the offset in the particle data structure?  This cuts down on code duplication, and then also in tally.F90 there's no need to go back to geometry.F90.