Soittola's theorem characterizes R+- or N-rational formal power series in one variable among the rational formal power series with nonnegative coefficients. We present here a new proof of the theorem based on Soittola's and Perrin's proofs together with some new ideas that allows us to separate algebraic and analytic arguments. c 2008 Elsevier B.V. All rights reserved.