I thought the P0128 was for the thermostat. I've had that code before, and it was on longer drives when the engine never really warmed up. I also had that code when I forgot I had a drilled thermostat.