When you click on links to various merchants on this site and make a purchase, this can result in this site earning a commission. Affiliate programs and affiliations include, but are not limited to, the eBay Partner Network.
I got the dreaded check engine on my 2008 4.6L Romeo with 255,000 miles. Only code was P0128, engine temp code, no problem. This is a bad thermostat 9 times out of ten so to the parts counter I went. Got an OEM thermostat and a gasket from my Ford dealer for $30 and $3. Aftermarket thermostats do not come with the gasket unless you buy the "kit" which is priced as much as the OE thermostat and gasket anyway. My thermostat was stuck open and it was summer so I leisurely got around to it. In the winter you'd better address it immediately.
Lesson learned: 1 gallon is not enough to drain from the petcock. I should have drained another half gallon because that's how much spilled out when I opened the the thermostat housing! Anyway, I had used a plastic hose from an old fish tank gravel vacuum to drain the coolant from the radiator petcock into a bucket. Easy job, just flat head screwdriver, a socket set (didn't even need an extension), a bucket, hose and funnel is I needed.
Note 1: Never ever EVER put pliers on that plastic petcock screw. Use you finger strength to open and to close.
Note 2: After replacing thermostat and gasket you may need to reset the OBD code as it was latched on mine.
$33 of parts, an hour of time, and fault code cleared. Temp gage is right in the middle instead of being under temp. Dealership would have charged $300 to do the same thing. Even Fyre Stoners wanted $200 with their garbage knock off parts.
So anyone with a P0128 code on a 2003-2008 it's an easy fix with no special tools or mechanical skill needed to replace a thermostat. Just make sure you get a gasket the old one won't be reusable and get an OEM or OEM match thermostat. Good luck on your old truck!