When you change channels the input section of the ADC requires a bit of time (depending on the source impedance and the difference between the previous and new voltages) for the reading to settle to the new value. Adding a delay or discarding the first reading of the new channel can mitigate that effect.
Edit: To be useful, the delay would have to be inserted after setting the multiplexer but before initiating the ADC read, so inside the analogRead function. If you look at the source code, there is a commented-out delay.
Maybe this is a FAQ in the Arduino community.
Don't forget to pay attention to the capacitance loading notes on the temperature sensor if you extend the least, they are not tolerant of capactive loading beyond a couple hundred pF and can oscillate or ring.