AutoLogicTools

OBD-II trouble code

P0590: Cruise Control Multi-Function Input "B" Circuit Stuck

The module is reading a perfectly valid cruise control button command on the "B" circuit and has been reading the same one for far longer than any driver would hold a button. Nothing here is electrically broken — the signal is legal, it simply never changes.

Low severityPowertrainCruise ControlDrivable short-term

Quick facts

System
Powertrain
Category
Cruise Control
Severity
Low severity
Drivable
Usually safe to drive short-term
Repair cost range
$0$420
DIY difficulty
Beginner DIY

What does P0590 mean?

P0590 is the odd one out among the cruise control input codes, because it is the only member of the family that fires while the signal looks completely healthy.

Every other fault on this circuit reports a value the module cannot use: too low, too high, or sitting in a gap between two defined commands. P0590 reports the opposite problem. The value is a textbook match for a real button, it is stable, it is repeatable — and it has been there for minutes or hours. The module is not detecting a broken circuit. It is detecting a command that will not go away.

That detection is a timer, not a voltage test. Calibrations carry a maximum plausible duration for each command, derived from how a human being actually operates the controls. Nobody holds cancel down for four minutes. Nobody holds set through an entire commute. So the software watches each recognised command and, if one persists past its window, concludes that the input is stuck rather than pressed and stores P0590. Some manufacturers add a second condition — the command being present at key-on, before the driver has touched anything — which catches the fault instantly on start-up instead of waiting for the timer.

Because the trigger is mechanical persistence rather than electrical damage, the causes cluster somewhere unusual. Something is physically holding a contact closed. A steering wheel cover pulled tight over the spoke buttons is a genuinely common one and takes thirty seconds to rule out. Trim rings that were reinstalled slightly proud after a wheel or airbag job press on the switch pad from behind. Sticky residue from a spilled drink dries into an adhesive that never lets a rubber dome release. In cold climates, water that has worked into a switch assembly can freeze the contact closed and let it go again when the cabin warms — a fault that reads as intermittent but is entirely mechanical. Electrically, the equivalent is a resistor ladder shorted at exactly the value of one command, which mimics a held button so faithfully that the module has no way to tell the difference.

The safety question this raises is worth answering directly rather than leaving implied. A stuck input on the accelerate or set command is not the same as a stuck throttle, and the two should not be confused. Cruise control commands are requests to a module that will only honour them when the system is engaged and every enabling condition is satisfied. Manufacturers also make the stuck condition itself a disqualifier: once P0590 is set, cruise is inhibited entirely, so the stuck command cannot be acted on. The failure mode is a cruise control that refuses to work, not one that runs away.

One consequence of that inhibit deserves attention when you are chasing the fault. If the stuck contact clears — the cover comes off, the ice melts — the code often stays stored and cruise often stays disabled until the fault is cleared and the enable conditions are re-tested. A driver who has fixed the physical cause and found no change is a common and entirely explicable outcome, and does not mean the diagnosis was wrong.

Common causes

  • Steering wheel cover fitted tightly over the spoke controls, holding a button pressed
  • Switch pad or trim ring reinstalled proud after steering wheel, airbag or column work
  • Dried spill residue inside the switch assembly preventing a rubber dome from releasing
  • Moisture that has frozen inside the switch, holding a contact closed until the cabin warms
  • Collapsed or torn contact dome that stays closed once depressed
  • Resistor ladder shorted at a value that exactly matches one recognised command
  • Object wedged behind the switch pad, such as debris or a fragment of broken trim
  • Aftermarket switch assembly whose buttons sit too high in the bezel
  • Damaged conductor shorting two circuits together and producing a permanent false command

Symptoms

  • Check engine light on with P0590 stored
  • Cruise control completely disabled and refusing to arm
  • One button feeling depressed, mushy, or not springing back when pressed
  • Fault present the instant the key is turned on, before any button has been touched
  • Cruise stopping working after a steering wheel cover was fitted
  • Cruise stopping working after airbag, clockspring or steering wheel service
  • Fault appearing only in cold weather and clearing once the cabin heats up
  • Cruise still inoperative after the physical cause was removed, until the code is cleared

Diagnostic steps

  1. 1.Remove any steering wheel cover before touching a scan tool. A cover pulled over the spoke buttons is the single most common cause and costs nothing to eliminate.
  2. 2.Ask whether anything was worked on behind the wheel recently. A switch pad or trim ring seated slightly proud after an airbag or column job presses the contact from behind and is invisible from the front.
  3. 3.Press each button and watch it return. A button that stays down, feels mushy, or lacks the click of its neighbours has found the fault mechanically.
  4. 4.Turn the key on without touching the controls and read the live "B" circuit value. A command already present with nothing pressed confirms the stuck condition immediately.
  5. 5.Note which command the module thinks is being held. That names the specific button and turns the rest of the job into a single-contact inspection.
  6. 6.Disconnect the switch assembly and re-read the circuit. If the held command vanishes with the switch out, the fault is inside the switch; if it persists, the circuit is shorted somewhere in the wiring.
  7. 7.If the complaint is cold-weather only, examine the switch for water tracks and corrosion rather than testing it warm, where the fault will not be present.
  8. 8.Look for the code arriving alongside a shorted-together pair rather than a single stuck value, which points at damaged wiring rather than a mechanical hold.
  9. 9.Clear the code after the physical cause is corrected and confirm cruise re-arms. The system frequently stays inhibited until the fault is cleared and the enable conditions run again.

Repair cost

$0$420

This is one of the few OBD codes with a realistic chance of a zero-dollar fix: removing a steering wheel cover or reseating a trim ring costs nothing. Cleaning dried spill residue out of a switch assembly is typically 0.5-1 hour of labour with no parts. A replacement steering wheel control switch runs $30-$200 and 0.5-1.5 hours, more where audio, phone and drive-mode buttons share the same pad and force a complete assembly. Repairing a shorted conductor behind the wheel is $80-$250 depending on access. Because so many of these are mechanical, ask the shop to diagnose before ordering any part.

Estimate your repair

Run the numbers for your vehicle

Open the Repair Cost Estimator with cruise control switch replacement preselected. Adjust labor rate and vehicle category to fit your situation.

DIY vs shop

This is a beginner-friendly repair. Common hand tools, a free afternoon, and a willingness to follow a procedure are usually enough. The risk of causing a bigger problem is low if you read up on your specific vehicle first.

Related codes

Frequently asked questions

Could a stuck cruise control button make the car accelerate on its own?

No, and it is worth being precise about why. A cruise control button is a request, not a throttle input — the module only acts on it when cruise is engaged and every enabling condition is satisfied, and it never has authority to open the throttle outside that state. On top of that, the stuck condition is itself a disqualifier: once the module decides an input is held rather than pressed, it inhibits cruise control entirely so the command cannot be honoured. The real-world result of P0590 is a cruise control that will not turn on, which is the opposite of the fear the code's name tends to provoke.

Why does this code exist if the voltage is perfectly normal?

Because the module is testing time, not voltage. It knows roughly how long a person actually holds each button, and a command that stays present past that window is not plausible as a human press. So P0590 is set on duration rather than on any electrical measurement, which is exactly why it is the only member of this family you cannot find with a multimeter reading. Some calibrations add a second trigger — a command already present at key-on, before the driver has touched anything — which catches the same condition without waiting for the timer to expire.

I took the steering wheel cover off and cruise still does not work. Was that the problem?

Very likely yes, and the behaviour you are seeing is normal. Once the fault is stored, most systems keep cruise inhibited until the code is cleared and the enable conditions are re-tested, so removing the cause does not restore function by itself. Clear the code with a scan tool, then check that the module no longer reports a command with nothing pressed. If cruise comes back and stays back, the cover was the cause. If the code returns immediately, something else is holding that contact and the switch assembly needs to come apart.

Is it worth fixing if I never use cruise control?

The fault itself does not affect braking, steering or the engine, so nothing about it makes the car unsafe to drive. The practical argument for fixing it is that a stored code keeps the check engine light on, and a lit light hides whatever the next code turns out to be — the emissions or drivability fault you would actually want to know about arrives with no warning of its own. Given that a fair share of these are a cover, a trim ring or a sticky button, it is usually a cheap thing to clear off the list rather than live with.

Editorial context

About This Diagnostic Information

AutoLogicTools diagnostic guides explain OBD-II trouble codes using recognized code definitions, standard automotive diagnostic principles, and practical automotive context. A trouble code records a condition detected by a control module. It does not automatically identify a failed part, and the right diagnostic procedure can vary by vehicle.

Manufacturer service information, technical service bulletins, wiring diagrams, and vehicle-specific procedures should take precedence when available.

AutoLogicTools was founded by Vincent Fisk, an automotive locksmith and shop owner in San Diego with hands-on experience in vehicle keys, immobilizer systems, electrical issues, modules, programming, and diagnostics.