Pool Heater Not Heating — Gas Error Codes, Heat Pump Faults & Heat Exchanger Service
A pool heater that refuses to heat falls into two distinct categories: gas/propane heaters that lock out on error codes, and heat pump units that run but can't reach the setpoint. Both have systematic diagnostic paths. Gas heater error codes (Pentair MasterTemp IF, HH, AFS, PS; Hayward H-Series LO, HL, SFS) each point to a specific component — most are field-repairable without a service technician. Heat pump issues (E1, E2, E3, HP codes on Hayward HeatPro and Pentair units) range from ambient temperature limitations to dirty coils to genuine refrigerant leaks. Start with the error code, work through the specific test procedure for that code, and you'll know in 30–60 minutes whether the repair is DIY or requires a licensed technician.
Try the AI Diagnosis ToolAI Repair Tools
Common Symptoms
- Gas heater displays error code IF, HH, AFS, or PS and will not heat
- Hayward H-series shows LO, HL, or SFS on the display
- Heat pump runs continuously but pool temperature rises less than 1°F per hour
- Heat pump displays E1, E2, E3, or HP error code
- Heater fires briefly but shuts off after 2–5 minutes without reaching setpoint
- Pool water temperature is 10°F or more below the set temperature
- Heater makes repeated ignition attempts (3 tries) then locks out
Most Likely Causes
- 1
Pentair IF Error — Ignition Failure (Gas Pressure or Electrode Gap)
IF (Ignition Failure) on Pentair MasterTemp 400 (460737) is triggered after 3 failed ignition attempts. The three most common root causes: (1) Gas pressure below 3.5" WC for natural gas (11" WC for propane) — verify with a manometer at the gas valve inlet. (2) Hot surface igniter gap outside the 1/8" specification (measure with a feeler gauge — a gap over 3/16" won't arc reliably). (3) Dirty or oxidized flame sensor rod (clean with fine steel wool, restore bright metal). IF is distinct from AFS (combustion blower) and HH (high limit) — each requires a different fix.
- 2
Pentair HH Error — High Limit Trip (Scale or Low Flow)
HH (High Header temperature) on MasterTemp fires when the heat exchanger outlet water temperature exceeds 135°F — almost always caused by restricted water flow or heavy scale inside the heat exchanger tubes. Reduced flow from a dirty filter, partially closed valve, or slow pump allows water to overheat locally before exiting. Scale from calcium carbonate buildup in hard-water areas reduces heat transfer and restricts flow simultaneously. Both conditions require different fixes: flow issues need valve/filter service; scale requires muriatic acid descaling.
- 3
Pentair AFS Error — Air Flow Sensor (Combustion Blower Fault)
AFS indicates the combustion air blower is not achieving the required airflow for safe combustion. The most common cause is a partially blocked combustion air intake (leaves, dirt dobber nests in the vent screen). Second most common: a failed combustion blower motor (listen for it — it should be audible within 3 seconds of calling for heat). Third: the pressure switch sensing tube has become kinked or disconnected. Clear the intake screen first before condemning the blower.
- 4
Hayward LO Error — Low Water Pressure (Flow Switch Fault)
LO on Hayward H400FDN indicates the pressure or flow switch on the heater inlet is not seeing adequate water flow. Minimum required flow is 25–40 GPM depending on the heater BTU rating. Most LO codes after a pump startup are caused by air in the heater that hasn't purged yet — wait 3 minutes after starting the pump before calling for heat. Persistent LO: check filter pressure (dirty filter restricts flow), check pump speed on variable-speed systems (minimum 2400 RPM for most Hayward heaters), and verify the bypass valve is not diverting too much flow around the heater.
- 5
Heat Pump E1 Code — Low Refrigerant or Low Ambient Temperature
E1 on Hayward HeatPro HP50HA, Pentair 460933, and most heat pump brands indicates either low refrigerant charge or ambient air temperature below 50°F (10°C). Heat pumps extract heat from ambient air — when air temperature drops below 50°F, the heat pump cannot operate efficiently and enters protection mode. This is normal behavior, not a fault. If the ambient temperature is above 55°F and E1 persists, the refrigerant circuit has a low charge — refrigerant addition requires an EPA 608-certified technician.
- 6
Heat Pump E3 Code — High Pressure (Dirty Coil)
E3 (high discharge pressure) is almost always a dirty evaporator coil on the heat pump. The coil extracts heat from ambient air; when it is clogged with pollen, grass clippings, or cottonwood fluff, the unit cannot exchange heat effectively and the compressor discharge pressure rises until the high-pressure safety trips. Clean the coil monthly during heavy pollen season with a low-pressure water rinse (garden hose from inside out, never a pressure washer).
- 7
Heat Exchanger Scale Buildup — Reduced Heating Efficiency
In hard-water areas (calcium hardness above 400 PPM), calcium carbonate deposits inside the heat exchanger tubes over 3–7 years. Scale is a thermal insulator — a 1/16" scale layer can reduce heating efficiency by 30–50%. Symptoms: heater runs at full power but pool temperature rises very slowly; HH codes appear despite normal flow. Diagnosis: inspect the heat exchanger end caps for white mineral deposits. Fix: muriatic acid flush procedure (see Step 7).
Not sure if this is the right fix for your exact model?
Upload a photo of your appliance label — Fix-It Fast AI will identify your exact unit and tailor the diagnosis.
Quick DIY Checks
Gas shutoff procedure: before servicing any gas heater, close the gas supply valve (90° ball valve on the supply line — handle perpendicular to pipe = OFF). After any gas line work, use a gas leak detector spray on all fittings before re-igniting. If you smell gas after the valve is closed, leave the area, don't operate any electrical switches, and call the gas utility. Never re-ignite a heater before purging the combustion chamber for at least 10 full minutes after any gas supply interruption or work on gas components.
NEVER bypass, jump, or remove a high limit switch to restore heater operation. High limit switches are the primary fire and burnout protection for the heat exchanger. A heater running without a functional high limit switch can ignite the heater cabinet, burn out the copper heat exchanger tubes, or cause a gas fire. If the high limit trips repeatedly, fix the root cause (low flow, scale, failed thermostat calibration) — do not disable the protection.
Heat pump refrigerant is regulated under Section 608 of the Clean Air Act. Adding, removing, or recovering R-410A or R-22 from a heat pump requires EPA 608 certification. Venting refrigerant to the atmosphere is a federal violation with fines up to $44,539 per day. Do not attempt to add refrigerant to a heat pump without certification — call a licensed HVAC or pool service technician.
Muriatic acid is a strong corrosive (typically 31% hydrochloric acid). Always wear nitrile gloves, chemical splash goggles, and acid-resistant clothing during the heat exchanger descaling procedure. Add acid to water — never water to acid. Work in a well-ventilated area away from the pool to prevent chlorine gas formation if acid contacts pool water or chlorine compounds. Neutralize completely with baking soda solution before reconnecting the heater.
Salt pool owners: cupro-nickel heat exchangers (used in most standard gas heaters) corrode rapidly in saltwater (above 3,500 PPM chloride). If you have a saltwater chlorinator, verify your heater has a titanium heat exchanger. Pentair and Hayward offer titanium exchanger options — confirm with your heater's model documentation before descaling or repairing. Using muriatic acid on a corroded cupro-nickel exchanger in a saltwater system may not be effective and can accelerate damage.
- 1Step 1 — Record the full error code sequence: Before touching anything, document the exact error code shown on the display. For Pentair MasterTemp: IF = ignition failure, HH = high header limit, AFS = air flow sensor, PS = pressure switch. For Hayward H-Series: LO = low water pressure, HL = high limit, SFS = service gas valve. Each code requires a completely different test procedure — do not skip straight to parts replacement without confirming the root cause. On MasterTemp units, hold the Mode button for 3 seconds to display the service history log, which shows the last fault code and how many times it has tripped.
- 2Step 2 — Gas pressure verification (IF, SFS codes): Connect a manometer to the gas valve inlet test port (1/8" NPT fitting on the valve body, usually labeled 'P1'). With the heater calling for heat and the gas valve receiving 24V (you can verify with a multimeter), record the gas pressure. Minimum required: 3.5" WC for natural gas, 11" WC for propane. Below minimum: call the gas utility (natural gas) or check propane tank level and regulator (propane — minimum 20% tank fill). If pressure is adequate, proceed to igniter gap and flame sensor checks.
- 3Step 3 — Igniter and flame sensor test (IF code, DSI and hot surface): Pentair MasterTemp uses a hot surface igniter (HSI) — silicon carbide or silicon nitride. Test: disconnect the igniter connector and measure resistance. A good SiC igniter reads 40–90Ω; a cracked or degraded igniter reads OL (open) or <20Ω. Gap the electrode at exactly 1/8" (3mm) using a feeler gauge. For the flame sensor rod: use fine steel wool or light sandpaper to clean the ceramic-insulated sensing rod until it shows bright metal. A contaminated flame sensor produces <1 µA DC signal — the control board interprets this as 'no flame' and shuts the gas valve after 4 seconds of flame proving. Hayward H-Series uses a spark igniter — inspect the ceramic insulator for cracks and clean the spark gap.
Get the full fix — Pro members get unlimited AI diagnoses
Save your repair history, get step-by-step AI guidance on any pool heater issue, and avoid $150+ service call fees.
Try Pro — $7.99/mo- 4Step 4 — Flow verification (LO, HH, HL codes): Confirm minimum water flow is reaching the heater. With the pump running, measure filter pressure — it should be within 5 PSI of the clean baseline. Check that the heater bypass valve (if present) is set to allow maximum flow through the heater. For variable-speed pumps: the heater requires a minimum pump speed — typically 2400 RPM for Hayward H400FDN and Pentair MasterTemp 400. Verify the automation system is running the pump at adequate speed when calling for heat. LO and HH codes triggered by flow restrictions clear immediately once flow is restored — no manual reset required on most Hayward and Pentair units.
- 5Step 5 — High limit switch test (HH, HL codes): The high limit switches on pool heaters are manual-reset or automatic-reset bimetal thermostats. On Pentair MasterTemp: locate the high limit switches (typically two — one for each header) on the inlet and outlet headers. With the heater cooled completely, test continuity across each switch — a good switch shows continuity at ambient temperature. If a switch reads OL when cold, it has failed in the open position and must be replaced. CRITICAL: Never bypass or jump a high limit switch to get the heater running. The high limit switch is the last line of defense against heat exchanger burnout — bypassing it can destroy the heat exchanger (a $300–$800 part) or cause a fire.
- 6Step 6 — Heat pump coil cleaning (E3 code): Turn off the heat pump at the breaker. Using a garden hose with a spray nozzle (no pressure washer — coil fins are soft aluminum and bend easily), rinse the evaporator coil from the inside out: insert the hose nozzle between the fan guard and the coil and spray outward through the fins. For heavy pollen, use a fin cleaning spray (available at HVAC supply houses) applied from outside, soaked 10 minutes, then rinsed inside-out. After cleaning, restore power and start the heat pump. E3 should clear within 5–10 minutes once the compressor discharge pressure normalizes. Clean the coil monthly during peak pollen season.
- 7Step 7 — Heat exchanger descaling procedure (muriatic acid flush): Turn off the heater and pump. Close the inlet and outlet valves at the heater. Disconnect the inlet and outlet plumbing unions at the heater (have towels ready). Connect a small circulation pump (a pool submersible pump works) with hoses to the heater inlet and outlet connections. Fill a 5-gallon bucket with a 1:10 solution of muriatic acid and water (always add acid to water, never water to acid). Circulate the solution through the heat exchanger for 30–60 minutes. CAUTION: do this in a well-ventilated area away from the pool — the acid fumes are irritating and the reaction generates CO2. Neutralize thoroughly: drain the acid solution, then circulate a baking soda solution (1 cup per gallon) through the exchanger for 15 minutes until no fizzing occurs when tested. Flush with plain water for 5 minutes before reconnecting to the pool system.
- 8Step 8 — AFS combustion blower check: Remove the heater front panel to access the combustion compartment. With the heater calling for heat, verify the combustion blower (a small centrifugal fan on the burner tray) starts spinning within 3 seconds. If the blower doesn't start, test 120V at the blower motor terminals — no voltage means the board or relay is not energizing the blower. If voltage is present but the blower doesn't spin, the motor has failed. Also inspect the combustion air intake screen (usually on the side of the heater cabinet) for spider webs, wasp nests, or debris — a blocked intake reduces airflow enough to trigger AFS without any component failure.
- 9Step 9 — Heat pump E1 ambient temperature and refrigerant check: If ambient air temperature is above 55°F (13°C) and E1 persists, the refrigerant circuit has a low charge. Signs of low refrigerant: ice forming on the evaporator coil, compressor running but pool temperature doesn't rise, high suction superheat on gauges. Refrigerant work requires EPA 608 certification — this is not a DIY repair. When calling a refrigerant technician, specify: (1) the refrigerant type (most residential pool heat pumps use R-410A), and (2) whether you have a saltwater pool — salt pool owners MUST have a titanium heat exchanger (not cupro-nickel), as copper alloys corrode rapidly in chlorinated saltwater. Confirm this was specified at purchase.
Save $150+ on a single service call
Less than a cup of coffee — fix it yourself with expert guidance.
- ✓ Step-by-step repair guides with exact part numbers
- ✓ Expert diagnosis in seconds — 500+ problems covered
- ✓ Full tool list & cost estimate before you spend a dime
$150+ service call vs. $7.99/mo · Cancel anytime
Repair vs Replace
Pool heaters are expensive to replace, so repair is almost always the right call unless the heat exchanger or main control board has failed on a unit over 12 years old. Igniters, high limit switches, gas valves, and combustion blowers are discrete components — each under $200. Heat exchanger scaling is DIY-fixable with acid descaling for $0–$50 in materials. The only scenario where replacement makes financial sense: heat exchanger failure on a gas heater over 12–15 years old (exchanger cost $300–$800 + labor often exceeds a rebuilt unit cost), or refrigerant-circuit failure on a heat pump over 10 years old (full refrigerant system repair exceeds 50% of unit value).
Est. Repair Cost
$15–$400 DIY or with technician (igniter: $20–$60; high limit switch: $15–$40; gas valve: $80–$180; heat exchanger descaling: $0–$50 DIY; combustion blower: $80–$150; refrigerant service: $150–$300 with EPA tech)
Est. Replacement Cost
$2,500–$5,000 for a new gas heater installed; $3,000–$6,000 for a new heat pump installed
Recommended Tools & Parts
- Buy on Amazon →
Pentair 460737 MasterTemp 400 Control Board
OEM main control board for Pentair MasterTemp 400 BTU heater. Controls ignition sequence, error code display, high limit inputs, and gas valve output. Replace after confirming igniter, gas pressure, and sensors test correctly.
$180–$280
- Buy on Amazon →
Hayward H400FDN Igniter — IDXLIGN1930
OEM hot surface igniter for Hayward H400FDN and H-Series FD heaters. Silicon nitride construction. Gap at 1/8" before installing. Also covers H150FDN, H200FDN, H250FDN, H300FDN.
$25–$55
- Buy on Amazon →
Pentair 472359 High Limit Switch
Replacement high limit thermostat switch for Pentair MasterTemp and Max-E-Therm heaters. Trips at 135°F to protect heat exchanger. Replace when switch reads OL (open) at ambient temperature. Never bypass.
$18–$35
- Buy on Amazon →
Raypak P-R406A Gas Valve Assembly
Combination gas valve for Raypak P-R406A and R-406 series pool heaters. Controls main burner gas flow on natural gas models. Test for 24V signal at valve terminals before replacement.
$120–$200
- Buy on Amazon →
Hayward HeatPro HP50HA Flow Switch
Flow switch for Hayward HeatPro HP50HA heat pump. Triggers E2 code when water flow falls below minimum. Test by confirming adequate pump flow before replacing switch. Also covers HP21404T and HP21004T.
$30–$55
- Buy on Amazon →
Nu-Calgon Coil Cleaner (Heat Pump Evaporator)
No-rinse foaming coil cleaner for heat pump evaporator coils. Dissolves pollen, cottonwood, and organic buildup from aluminum fin coils. Monthly application during heavy pollen prevents E3 high-pressure codes.
$12–$20
- Buy on Amazon →
AquaCal TropiCal T135 Defrost Control Board
OEM defrost control board for AquaCal TropiCal T135 heat pump. Controls the HP defrost cycle sequence in ambient temperatures below 55°F. Replace when defrost cycle runs continuously or will not terminate.
$80–$140
Links are Amazon affiliate links (tag: fixitfastai-20). Prices are estimates.
Still stuck? Let AI take a look.
Describe your problem or upload a photo — get a diagnosis in seconds.
Related Repairs
Gas Pool Heater Won't Ignite — Pilot or Ignition Board Fault
Pool heater attempts ignition but no flame? Check igniter, gas valve, and control board — most fixes are under $150.
Read guide →Pool Heater E05 / E06 Error Code — High Limit or Pressure Switch
Hayward or Pentair heater showing E05 or E06? These codes mean high limit or pressure switch fault — fix without replacing the heater.
Read guide →Hayward H-Series Pool Heater Not Heating — Error Codes IF, BO, SF, AO & Repair Guide
Hayward H-Series showing IF, BO, SF, or AO error? Diagnose ignition failure, pressure switch faults, bypass valve issues, and heat exchanger scaling on H150–H400 heaters.
Read guide →Pentair MasterTemp Not Heating — Service Codes, Ignition Lockout & Bypass Flow Fix
Pentair MasterTemp displaying service codes or locked out after ignition failure? Diagnose stack flue sensor, water pressure switch, bypass flow valve, and ignition lockout step-by-step.
Read guide →Save $150+ on a single service call
Less than a cup of coffee — fix it yourself with expert guidance.
- ✓ Step-by-step repair guides with exact part numbers
- ✓ Expert diagnosis in seconds — 500+ problems covered
- ✓ Full tool list & cost estimate before you spend a dime
$150+ service call vs. $7.99/mo · Cancel anytime
Still not sure what's wrong?
Get an AI diagnosis in seconds — describe the problem or upload a photo.
Get an AI Diagnosis⚡ Get step-by-step help for YOUR specific appliance
Our AI diagnoses your exact model — not just generic advice. Upload a photo or describe the issue and get a repair plan in seconds.
No account needed for diagnosis. Cancel Pro anytime.
Related Tools
Frequently Asked Questions
- My Pentair MasterTemp shows IF — what does that mean and how do I fix it?
- IF stands for Ignition Failure — the heater attempted to light 3 times and could not confirm a flame. Work through three checks in order: (1) Gas pressure: connect a manometer to the inlet test port on the gas valve. Natural gas minimum is 3.5" WC; propane minimum is 11" WC. If pressure is low, the utility or propane supplier needs to check the supply and regulator. (2) Igniter: disconnect the igniter plug and measure resistance with a multimeter. A healthy silicon nitride igniter reads 40–80Ω. OL (open) = cracked/failed igniter, replace it. Also verify the igniter gap is exactly 1/8" with a feeler gauge — use the adjustment screw on the electrode bracket. (3) Flame sensor: clean the flame sensor rod (the ceramic-insulated probe in the burner flame path) with fine steel wool until you see bright metal — oxidation on the rod creates high electrical resistance that prevents the sensor from confirming a flame.
- My heat pump runs but the pool is barely getting warmer — why?
- A heat pump that runs continuously but fails to heat is in one of three conditions: (1) Ambient air temperature is below 50°F — heat pumps cannot extract sufficient heat from cold air and enter protection mode. This is normal. Wait for warmer weather or switch to a gas heater for spring and fall heating. (2) Dirty evaporator coil — a clogged coil drastically reduces heat transfer. Clean the coil by rinsing from inside out with a garden hose. (3) Low refrigerant charge — if ambient temperature is above 55°F, the coil is clean, and the heat pump still isn't heating, the refrigerant circuit has a leak. Signs: ice forming on the evaporator coil, compressor running but no heat output. This requires an EPA 608-certified technician with manifold gauges.
- What is the HP error code on my pool heat pump?
- HP on most residential pool heat pumps (Hayward HeatPro, AquaCal, Pentair) indicates the unit has entered a defrost cycle. When ambient temperature drops below 55°F (13°C), frost can form on the evaporator coil, reducing heat transfer. The heat pump automatically reverses the refrigerant cycle to melt the frost — during this process, the display shows HP and the unit blows cool air. A defrost cycle typically lasts 5–15 minutes and is completely normal. The heater resumes normal operation automatically. If HP appears continuously (running in defrost for more than 30 minutes) when ambient is above 55°F, the defrost thermostat or defrost control board has failed.
- My Hayward H400FDN shows SFS — is this serious?
- SFS (Service Gas Valve) on Hayward H-Series heaters indicates the gas valve is not opening when commanded. Before replacing the valve, verify three things: (1) The gas supply valve is fully open (handle parallel to pipe). (2) There is 24VAC arriving at the gas valve terminals during the trial-for-ignition period — test with a multimeter set to AC voltage. No voltage means the control board or ignition sequence is not reaching the gas valve command step. (3) The gas valve coil resistance: disconnect power, probe the valve terminals with a multimeter — a good valve coil reads 20–60Ω; OL = open coil, replace the valve. If 24V is present and the coil reads in-spec, the valve body is mechanically stuck — replace the gas valve (Hayward service part for H400FDN: IDXGAS1930).
- Does my pool heat pump work in winter? What temperature is too cold?
- Most residential pool heat pumps (Hayward HeatPro, Pentair, AquaCal) have a minimum operating ambient temperature of 50–55°F (10–13°C). Below that threshold, the unit enters protection mode (E1 or similar code) and will not run because it cannot extract sufficient heat from cold air to operate efficiently. In climates where winter air temperatures regularly drop below 50°F, a heat pump is not a viable year-round solution — a gas heater (Pentair MasterTemp 400, Hayward H400FDN) is more appropriate for cold-season heating. In warmer climates where ambient stays above 55°F most of the year, heat pumps are extremely efficient — typically 5x more energy-efficient than gas. Some premium heat pumps (AquaCal HeatWave SuperQuiet) have low-ambient kits that extend operation to 45°F.