Typically a P0128 is the Thermostat is stuck open.
My 05 threw that code and the rubber grommet that formed a seal on the thermostat had warped and wasn't allowing it to shut, which in turn was causing it to take forever to reach operating temperature.
So if it seems as though it's taking a while to warm up chances are it's the thermostat over the sensor that's tripping the code.
Fortunately running too cold is better than running too hot, but you'll still want to get that changed out pretty soon.
Good luck!