Boltzmann codes are essential tools for studying cosmology. Most of
the codes are based on a seminal work by Ma and Bertschinger.
We found that the formalism employed in those codes has at least three
possible problems which need to be understood. i) The equation of
motion for baryons are gauge incompatible, ii) they break the Bianchi
identity, and iii) it is not clear from the equations of motion which
physical system is considered. In this work we revisit the baryon
physics and address all the above mentioned issues, based solely on
conservation of stress-energy tensor, resulting in taking into account
a correction that is usually neglected and that is numerically small.
We also study the tight coupling approximation up to the second order
without choosing any gauge. We implement the improved baryon equations
in a Boltzmann code and investigate the change in the estimate of
cosmological parameters by performing an MCMC analysis. While in this
paper we study the Lambda-CDM model only, our baryon equations can
be easily implemented in other models and various modified gravity theories.