It could be several things: old/low coolant, sticky thermostat, water pump going bad, radiator/water jackets getting clogged, cooling fan not working, loose serpentine belt, bad hoses etc.
Start by making sure your coolant is at proper level and in good condition (you can buy a coolant tester for $2 at Wal-Mart). If the level is low, add proper coolant to your radiator (engine cold!) And your overflow tank. If coolant too old, have your cooling system serviced (new coolant, radiator flushed etc)
Also make sure your fans come on when your car starts to get hot: open the hood; when the temp gauge starts to go beyond the middle, check that the fan located right in front of the radiator comes on. If it doesn't you have your problem.
If both the coolant and the fans check ok, I suggest you just go ahead and replace the thermostat; a new one only cost $5 and even though it may not be the culprit today, it may save you some problems in the future.
If it still fails to fix your problem, we still have a few suspects on the list: water pump, loose serpentine belt (either the belt has stretched or the belt tensioned is worn), bad hoses, an internal engine leak.
Start by checking your coolant and your cooling fan. Post back if you need more help.
Monday, May 4th, 2009 AT 1:57 PM