2007 Toyota Corolla overheating and heat not working

I have a 2007 Toyota Corolla that my kids drive, it has 171k miles. Recently it began overheating and blowing coolant out of the overflow causing it to appear it is leaking due to having to keep adding coolant. The car does not overheat every time but is pretty consistent on overheating. When overheating, the heater starts to blow cold air but if not overheating it blows hot air as normal. Any ideas on what my problem might be?

Lots of air in your cooling system will cause similar symptoms as well as a faulty thermostat (i.e. one that is stuck closed or won’t open completely).

Overheating is usually due to low coolant level. Fill too full mark. Replace radiator cap to ensure system is pressurized to 15-17 psi. Bleed air from cooling system. Verify cooling fans are running. Odds are almost zero it is due to failed/worn impeller water pump. Odds of clogged radiator are also low. But it is possible. Only logical next step is head gasket.

When the engine is cold, remove the radiator cap/reservoir cap and start the engine.

Watch the coolant as the engine idles. If bubbles appear in the coolant that’s an indication of breached head gasket.


Thank you all for the responses thus far, will research and let you know what I find.

There are a few common issues, if you have never replaced the thermostat I would replace it, they have been know to stick. Radiators and their caps are also common failures, look at the plastic radiator tanks for signs of leakage or cracking. Remove the radiator cap when the engine is cold and look at the bottom of it and see if the inner seal is missing. The inner seals break free and don’t allow the cooling system to hold pressure. Do a good visual inspection for any leaks and check your cooling fan operation by turning on the a/c and look to see if the electric fan comes on.

Unfortunately the trouble you describe is most likely due to a bad head gasket, like others have stated already. Have the coolant checked for exhaust gases. That should prove things if that is the case or not.

I’m on board with the blown head gasket as well. Be sure to have it checked because it will only get worse.

Ok, I replaced the thermostat this morning and my issue still continues. Guess I will try the head gasket next.

Do you own a precision straight edge so you can check the flatness of the head?

Engines with aluminum heads don’t tolerate overheating very well. So the head may require machining before it’s reinstalled.


@krisskross I recommend you use this tool next, before condemning the head gasket

It’s not expensive, easy to use, and it’ll confirm combustion gases are getting into the coolant


As suggested by @Tester use a straightedge to measure the head for warpage

Also, it might not be a bad idea to replace all of the cylinder head bolts. They’re probably torque to yield, anyways, but I’m not sure

It goes without saying that you should also replace the pressure cap and thermostat. I highly recommend a Toyota brand thermostat. That is because many of the aftermarket parts are too generic, and don’t even look like the factory part.

As for coolant, get the Toyota super long life, or zerex asian

If you have a 2az engine when you loosen the head bolts and some seem less tight than the others you may have stripped threads in the engine block. This does happen on occasion and requires putting thred inserts into the block.

I always replace the radiator cap when the thermostat is changed. I do this every other coolant change.
I’ve seen a cap that looks OK, but won’t hold pressure.
Before removing the head warm the engine up with the cap off and look for bubbles,
then use a kit etc. to check for combustion products in the coolant.

Used the combustion kit and verified I do have combustion gases coming from the radiator.

Time to pull the head . . . I hope you don’t have those stripped thread in the block, as was mentioned

After removing the valve cover, and before loosening the head bolts, see if any of them are already loose. If they are, it’s a good bet the threads in the block are buggered up