Expressing the entire business in terms of `SphericalBesselJ[]` cures the problem: NIntegrate[r With[{x = r BesselJZero[15/2, 1]}, Sqrt[2 x/π] SphericalBesselJ[7, x]]^2, {r, 0, 1/50}] 1.1879560281974252*^-27 The nice thing about `SphericalBesselJ[]` is that it does not auto-evaluate to a potentially numerically unstable combination of trigonometric functions, unlike `BesselJ[15/2, x]`.