We study the multiplicity of nonnegative solutions to the problem, (Pλ) where Ω is a smooth bounded domain in RN, f:[0,∞)→R oscillates near the origin or at infinity, and p>0, λ∈R. While oscillatory right-hand sides usually produce infinitely many distinct solutions, an additional term involving up may alter the situation radically. Via a direct variational argument we fully describe this phenomenon, showing that the number of distinct non-trivial solutions to problem (Pλ) is strongly influenced by up and depends on λ whenever one of the following two cases holds: •p⩽1 and f oscillates near the origin; •p⩾1 and f oscillates at infinity (p may be critical or even supercritical). The coefficient a∈L∞(Ω) is allowed to change its sign, while its size is relevant only for the threshold value p=1 when the behaviour of f(s)/s plays a crucial role in both cases. Various - and L∞-norm estimates of solutions are also given.