A Noritz that flashes 31 is not telling you the burner misfired. It is telling you the board lost a trustworthy reading from the sensor that measures incoming water temperature. The dispatch note for this article guessed combustion or a flame issue. The manufacturer's own knowledge base says otherwise: code 31 is a cold water inlet thermistor abnormality, and it lives entirely on the temperature-sensing side, nowhere near the flame. That distinction changes everything about where you look, so it is worth getting right before you pick up a screwdriver.
What code 31 IS
- A cold water (inlet) thermistor abnormality.
- The board reads a resistance from that sensor that is out of range or missing.
- The inlet temperature feeds the burner calculation, so a bad reading is treated as unsafe.
- Usually a loose plug, a corroded connector, or a drifted sensor.
What code 31 is NOT
- Not a flame or ignition failure.
- Not a combustion or venting fault (those are codes like 90, 91, 99).
- Not a scale or descaling problem.
- Not, in the usual case, a failed control board or heat exchanger.
Noritz code 31
A Thermistor - Cold Water abnormality. The control board is not receiving a valid resistance signal from the thermistor that measures the temperature of the water entering the unit. That covers a plug that has come loose from the wire harness, a corroded or damaged connector, a chafed harness, or a thermistor whose resistance has drifted out of the expected range. It is a sensing fault on the water side, not a combustion fault.
Why the inlet thermistor matters so much
A tankless heater has to hit a target outlet temperature the instant you open a tap, with no stored tank of hot water to lean on. To do that the control board needs two numbers: how hot the water already is coming in, and how hot you want it going out. The gap between those two, times the flow rate, is the heat the burner has to add. The cold water thermistor supplies the first number. It is a small NTC sensor, meaning its electrical resistance falls as temperature rises, and the board reads that resistance to infer the inlet temperature. When the reading goes open circuit, shorts, or lands far outside the plausible band, the board cannot compute a safe firing rate, so it stops and posts 31. In plain terms, the heater would rather refuse to run than guess your inlet temperature and hand you water that is far too hot or wildly unstable.
That is also why the fault feels so abrupt. There is no gradual warning, no lukewarm water that slowly recovers. One moment the board has a clean inlet reading and everything runs, the next the signal drops and the unit locks out with 31 on the display. An intermittent connector produces the most confusing version of this, where the heater works fine for a shower and then quits during the next one. If your 31 comes and goes rather than staying put, lean toward a loose or corroded connection rather than a fully dead sensor, because a sensor that has genuinely failed tends to fault the moment the board polls it and stays faulted.

Reading the code against the sensor, side by side
Here is how the symptom maps to the likely cause and the move that clears it. Work top to bottom, cheap to expensive, because most 31 faults are resolved before you ever get to buying a part.
| Likely cause | What you find | The move |
|---|---|---|
| Thermistor plug backed off the harness | Connector loose or half-seated at the cold water sensor | Reseat until it latches, then reset and retest |
| Corroded or wet connector pins | Green corrosion, moisture, or a dark pin at the plug | Clean the pins, dry the connector, reseat, find the moisture source |
| Chafed or pinched wire harness | Rubbed insulation or a pinch point between sensor and board | Repair or reroute the harness, secure it clear of edges |
| Thermistor drifted or shorted | Resistance reads far from spec for the water temperature | Replace the cold water thermistor with the OEM part |
| Board connector loose at the PCB | Harness plug not fully seated on the control board | Reseat the harness at the board, inspect the header pins |
Who should do what
Not every step here is a homeowner job, and not every step needs a truck roll either. Match the work to your comfort with a multimeter and with opening a sealed appliance.
Reset and reseat the connector
Power down at the breaker, open the front cover, find the cold water thermistor on the inlet line, and reseat its plug until the latch clicks. Follow the wire to the board and reseat it there too. Restore power and clear the code. This resolves a large share of 31 faults and needs only a screwdriver and patience.
Measure the thermistor resistance
Unplug the sensor and read its resistance with a multimeter. Compare it against your model's thermistor spec at the current water temperature. A reading that is open, shorted, or far off spec confirms a bad sensor rather than a wiring problem, and the sensor is an inexpensive part.
Replace the sensor or chase a harness fault
If the thermistor is bad, or the harness is damaged, or 31 keeps returning after a clean reseat, a licensed technician can swap the OEM thermistor and verify the board reads it correctly. Do not bypass or jumper the sensor to force the unit to run.
A related question worth answering
People chasing 31 often ask whether the outlet sensor or a hot-water code could be involved. Short answer: different sensor, different code. Keep your diagnosis on the inlet thermistor.
Could code 31 actually be the hot water outlet sensor instead?
No. Noritz separates the two. Code 31 is specifically the cold water inlet thermistor. The outlet or hot-water thermistors carry their own codes. If your unit is posting 31, the sensor to inspect is the one on the incoming cold line, not the outlet. Verifying which sensor a code points to before you start unplugging things saves you from cleaning the wrong connector and wondering why the fault never cleared.

The reset procedure, step by step
Because Noritz units have no dedicated reset button, clearing 31 means a controlled power cycle. Turn the unit off at the remote controller if you have one, then switch off the breaker feeding the water heater for about 30 seconds. Restore power and let the unit come back to standby. Your temperature settings survive the cycle. Now open a hot tap and watch. If 31 returns as soon as the board polls the inlet sensor, you have confirmed the fault is still live and it is time to open the cover and inspect the thermistor connection. If it fires and holds, run it through a few draws before you call it fixed, since an intermittent connector can read fine once and drop out later.
Keeping code 31 from coming back
An inlet thermistor fault is usually about connection integrity, so prevention is mostly about keeping water and vibration away from the sensor's plug. If you ever had a small weep or drip upstream of the sensor, trace it and fix it, because moisture in a connector corrodes pins and produces exactly the kind of on-again, off-again 31 that is maddening to chase. When a tech services the unit annually, have them confirm the sensor harness is routed clear of sharp edges and fully latched at both ends. Descaling remains part of good tankless maintenance for the heat exchanger, but understand it is unrelated to this code. Thirty-one is a wiring and sensor story from start to finish, and the cheapest fix, a firm reseat of a plug that shook loose, is also the most common one.
One more habit pays off here. When you have the cover off for any reason, give the two ends of the thermistor harness a gentle wiggle and a look. A connector that is going bad often shows a hint of the trouble early, a pin that has darkened, a latch that no longer clicks with authority, a bit of white or green film starting at the crimp. Catching that during a routine descale or filter clean is far easier than diagnosing a cold shower on the first frost of the season, which is exactly when marginal connections tend to finally let go. The sensor is cheap, the connector is free to reseat, and the whole job is a screwdriver and ten minutes if you know where to look. That is the thing to take away from code 31: it reads scarier than it is, and the fix almost always sits at the plug rather than deep in the machine.
Frequently asked
Can I reset Noritz code 31 myself?
You can clear the latched code, but clearing is not the same as fixing. Noritz tankless units do not have a dedicated red reset button. Turn the unit off at the remote controller, or flip the breaker feeding the water heater off for about 30 seconds, then power back on. That drops the stored fault and keeps your temperature settings. The point of the reset is to watch the unit fire again with fresh eyes. Code 31 is a cold water inlet thermistor fault, so if the sensor plug is loose, corroded, or the thermistor itself has drifted out of range, the code returns the moment the board polls that sensor again. Reset first, then check the connection, because a code that comes right back is telling you the underlying wiring or sensor problem is still there.
What does Noritz error code 31 actually mean?
It means the control board is not getting a sane resistance reading from the cold water thermistor, the sensor that measures the temperature of the water coming into the unit. Noritz calls it a Thermistor - Cold Water abnormality. The board uses that inlet reading to calculate how hard the burner has to work to hit your set temperature, so it treats a nonsense reading as unsafe and shuts down. Despite what some quick-reference charts imply, 31 is not a flame or combustion fault. Combustion problems on Noritz throw their own codes. Thirty-one lives entirely on the water-temperature-sensing side.
Is Noritz code 31 the same as a flame or combustion problem?
No, and this is a common mix-up worth clearing up. Some third-party lists loosely describe every Noritz shutdown as a burner problem, but the manufacturer's own knowledge base is specific: code 31 is the cold water inlet thermistor. Combustion abnormalities, yellow flame, or blocked venting show up as separate codes such as 90, 91, or 99, and a flame-rod circuit fault is its own code as well. If you are chasing 31, do not start pulling the burner or the flame rod. Start at the inlet thermistor and its wiring.
How much does it cost to fix Noritz code 31?
If the fault is a plug that backed off the wire harness or a corroded connector, the fix costs nothing but the time to open the cover and reseat it. If the thermistor itself is bad, a genuine Noritz cold water thermistor is a low-cost part, commonly in the $20 to $60 range depending on model, and it is a small two-wire sensor rather than a major assembly. A licensed technician visit to diagnose and swap the sensor typically runs $150 to $350 once you count the trip and labor, more in high-cost metros. There is no expensive board or heat exchanger in the usual path for this code, which is good news.
Will descaling clear Noritz code 31?
No. Descaling flushes vinegar or a descaling solution through the heat exchanger to strip mineral scale off the waterways. Code 31 is an electrical fault in a temperature sensor, not a scale or flow problem, so a flush does nothing for it. Descaling is still worth doing on schedule for the overall health of the unit, but it will not touch this code. The moves that clear 31 are reseating the thermistor connector, checking the harness back to the board, and replacing the sensor if it reads out of range.
Why does Noritz code 31 keep coming back?
A code that returns after a reset means the real cause is still present. The usual repeat offenders: the thermistor connector was reseated but a pin is corroded or the latch is not fully engaged, so the signal drops intermittently. Or the wire harness is chafed or pinched somewhere between the sensor and the board. Or the thermistor has genuinely drifted, reading a resistance that no longer matches the water temperature, which a meter will reveal. Water that got into the connector from a small leak upstream can also corrode the pins and cause an on-again, off-again 31. If reseating does not hold, measure the sensor's resistance cold and compare it against the model's spec before you blame the board.
Is Noritz code 31 dangerous?
The code itself is a protective shutdown, not a hazard. The board relies on the inlet temperature to set the burner correctly, so when it loses a trustworthy reading it refuses to run rather than guess and risk scalding-hot or wildly swinging output. That lockout is the unit protecting you. The thing to avoid is bypassing or defeating the sensor to force the heater to run, because then the board is firing blind on inlet temperature. If reseating the connector and checking the harness does not clear it, replace the thermistor or have a licensed tech do it. There is no safe shortcut around a temperature sensor the board cannot read.