I've used an Agilent 34970A with 20 channel multiplexer to read thermocouples for years with no problem. Then it starts giving temperatures that don't match other instruments, so I check it with a thermocouple in icewater, and it reads 16C. At 50C it reads about 40C. The farther from the reference junction, the worse it gets. Same on all channels. An E type and K type thermocouple on two different channels consistently match each other, but are both wrong. When set to output DC voltage, the voltages match the temperature for each type thermocouple, so voltages and temperatures are consistent with each other, and both are wrong. I have another identical 34970A on a shelf that hasn't been used in a few years, so I take it out and try it. Exactly the same problems. Reading 16C in icewater, etc. I think it can't be the instrument since they wouldn't both go bad in the same way at the same time. Maybe its something in the building power, so I take the one from the shelf home to try it there. Same problems. So then I think to just make my own calibration curve for it. I know what the voltage should be at each temperature from the thermocouple calibration, so I start at 50C and measure T with a thermometer and voltage with the 34970A. As I drop T, I get a curve that can be fit with a quadratic. At 1C it reads 17C. Then something strange happened. I went to read the next point, and the 34970A says 3.6C when T=3.8C on the thermometer. It suddenly went back to reading correctly. I tried it all the way up to 50C, and the 34970A consistently reads about 0.3C below the thermometer temperature. Anyone have any idea what happened or what the problem is? It seems to be working right now, but I don't think I can trust it.