In a variety of physical problems one encounters source terms that are balanced by internal forces and this balance supports multiple steady state solutions that are stable. Typical of these are gravity-driven flows such as those described by the shallow water equations over a nonuniform ocean bottom. \[ (1.10)\qquad h_t + (hu)_x = 0{\text{ and }}(hu)_t + \left( {hu^2 + \frac{{gh^2 }} {2}} \right)_x + ga_x (x)h = 0; \] Many classic numerical schemes cannot maintain these steady solutions or achieve them in the long time limit with an acceptable level of accuracy because they do not preserve the proper balance between the source terms and internal forces. We propose here a numerical scheme, adapted to a scalar conservation law, that preserves this balance and that can, it is hoped, be extended to more general hyperbolic systems. The proof of convergence of this scheme toward the entropy solution is given and some numerical tests are reported.