anchor.diff:    integer, intent(in) :: iElem
     integer, intent(in) :: nTurn
   
  -  integer i, j, k, idElem, idPro, iGen, nGen, idGen, iError, unitDens, iLost, procID, fixedID
  +  integer i, j, k, idElem, idPro, iGen, nGen, idGen, iError, unitDens, iLost, procID, fixedID, nAbove
     logical updateE, autoRatio, isDiff, isExact, densDump, beamDump, pScattered(napx)
     real(kind=fPrec) t, dEE, dPP, theta, phi, pVec(3), pNew, xRot, yRot, elemScale, sigmaTot,         &
  -    ratioTot, crossSection, scatterProb, targetDensity, scRatio, brRatio, rndVals(napx*3)
  +    ratioTot, crossSection, scatterProb, targetDensity, scRatio, brRatio, rndVals(napx*3), sumProb
   
     real(kind=fPrec), allocatable :: brThreshold(:)
     logical,          allocatable :: hasProc(:,:)
  
positive.code:     end do
    end do
    flush(scatter_sumUnit)
  
    if(scatter_allowLosses) then
      call shuffleLostParticles
  
negative.code:   iLost    = 0
    isDiff   = .false.
    updateE  = .false.
    sumProb  = zero
    nAbove   = 0
  
    pScattered(:) = .false.
  
  