AutoLogicTools

OBD-II trouble code

P0584: Cruise Control Vacuum Control Circuit High

The module commanded the solenoid on and the line refused to fall. Counter-intuitively, a solenoid drawing too much current produces this code as often as one drawing none, because the driver protects itself by switching off.

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
$20$650
DIY difficulty
Intermediate DIY

What does P0584 mean?

P0584 sets when the module tried to operate the vacuum solenoid and the control line did not respond. To make sense of that, it helps to know that these solenoids are switched on the ground side: the coil is fed with voltage from a fuse or a relay, and the module's job is to pull the other end down to ground when the solenoid should operate. At rest, therefore, the line sits close to battery voltage through the coil, and that is entirely normal. The fault is not that the line is high. The fault is that the line stayed high after the module commanded it to fall.

There are only three ways that can happen, and the useful part of this page is that one of them is widely overlooked. The first is that the module has nothing to pull down, because the coil or the conductor to it is open. The second is that voltage is arriving on the line from another circuit and holding it up against the driver. The third — and this is the one that produces the repeat failures — is that the driver switched itself off on purpose.

Module output drivers include current and thermal protection, because a shorted load would otherwise destroy them. When a solenoid winding develops shorted turns, its resistance falls, and a coil with less resistance across the same supply draws more current. The driver sees more current than it is rated to pass and shuts the output down to protect itself. The line then reads high, because nothing is pulling it low, and the module reports precisely this code. So the counter-intuitive fact worth taking away is that a solenoid drawing too much current sets the high-circuit code, not the low one. A coil resistance measurement that comes back below specification is not a pass — it is the answer.

That has a direct consequence for how much this repair costs and whether it lasts. If the coil is drawing excess current and somebody replaces a length of wire, cleans a connector or clears the code, the system will work again for a while. The protection resets, the solenoid operates, the current is still too high, and the driver trips again. The code returning after an apparently successful repair is the signature of this cause rather than evidence that something exotic is wrong.

The other point specific to this code is the supply side. The module monitors its own output line and nothing else. It has no visibility of the fuse, the relay or the feed conductor that gives the solenoid its voltage, so a failure anywhere in that path produces this code with no additional electrical evidence at all. That makes checking for supply at the solenoid feed terminal a genuinely high-value early step, and it makes the question of what else shares that fuse worth asking — because if several unrelated conveniences have gone quiet at the same time, you have found the fault without opening a single connector.

Common causes

  • Open winding or high-resistance joint in the vacuum solenoid coil
  • Solenoid winding with shorted turns drawing enough current to trip the driver's protection
  • Missing supply to the solenoid from a blown fuse, failed relay or open feed wire
  • Open circuit in the control conductor between the module and the solenoid
  • Corroded terminals in the engine bay solenoid connector adding resistance
  • Control wire shorted to a switched or permanently live circuit in the bulkhead loom
  • Poor ground for the module causing it to misread its own output line
  • Failed module output driver, which is genuine but should be the last conclusion

Symptoms

  • Cruise control will not engage
  • Cruise control working intermittently and cutting out after a period of use
  • Fault returning shortly after a repair that appeared to work
  • Other accessories sharing the same fuse also inoperative
  • No audible click from the servo solenoid when cruise control is set
  • Check engine light with the engine running completely normally
  • No change in idle quality or throttle response
  • Cruise control operating normally when cold and failing once warm

Diagnostic steps

  1. 1.Read the code as a failed command rather than as excess voltage. With the solenoid at rest the control line sits near battery voltage through the coil, and that is normal. The fault is recorded when the module switched its driver on to pull the line down and the line stayed up. So the question to answer is why the module could not complete the circuit — and there are only three answers: nothing to pull down, something feeding voltage in, or a driver that shut itself off.
  2. 2.Measure the solenoid coil resistance and pay as much attention to a reading below specification as above it. This is the step people skip and it is the one that explains the repeat failures on this code. A winding with shorted turns measures low, draws more current than the driver is rated for, and causes the module's protection to switch the output off — at which point the line reads high and the module reports exactly this fault. A low resistance reading is therefore a positive finding, not a pass.
  3. 3.Confirm the supply side, because nothing else on the vehicle monitors it. The solenoid's feed comes from a fuse or relay and the module only watches its own output line, so a missing feed presents as this code with no other electrical clue. Check for voltage at the feed terminal with the ignition on, and if it is absent, find out what else shares that fuse — the pattern of other things that have stopped working is usually the fastest route to the cause.
  4. 4.Check for an open in the control conductor and for a high-resistance joint in it. An open between the module and the coil leaves the driver with nothing to pull down and produces this code even though the solenoid itself is healthy. Backprobe rather than disconnecting where you can, and look at the terminal faces in the engine bay connector before mating them back together.
  5. 5.Look for voltage arriving on the control line from somewhere it should not. A short between the control wire and an adjacent switched or permanently live circuit will hold the line up against the driver, and in a bulkhead loom that has been repaired or pinched this is a genuine possibility. Disconnect both ends and check whether the wire still shows voltage with the ignition on — if it does, nothing about the solenoid or the module needs replacing.
  6. 6.Recheck the coil current after any repair rather than only checking that the code cleared. If the underlying cause was a solenoid drawing excess current, replacing wiring or resetting the module will restore operation temporarily and the protection will trip again. Measuring the current the new or existing solenoid actually draws is the only way to know the driver is no longer being overloaded, and it is why this code has a reputation for coming back.

Repair cost

$20$650

The bottom of this range is a fuse, and it is worth checking before anything else because a missing supply produces this code with no other symptom the module can see. Diagnosis is $80 to $160 and should include a coil resistance measurement compared against specification in both directions. An open or shorted solenoid available separately is $30 to $150 plus half an hour to an hour of labour. Repairing an open or shorted control wire is $60 to $200. Where the solenoid is integral to the servo, a complete assembly is $120 to $600 plus one to three hours. Insist that coil resistance was actually measured, because a solenoid drawing excess current will make any other repair look successful for a few weeks.

Estimate your repair

Run the numbers for your vehicle

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

DIY vs shop

This is an intermediate DIY job. It usually involves diagnostic steps, specialty parts, and some careful work in tight spaces. If you have the tools and a service manual or trustworthy video for your specific vehicle, it is achievable in a weekend. Otherwise, a competent independent shop will be faster.

Related codes

Frequently asked questions

How can a shorted solenoid cause a high-circuit code?

Because of what the module does to protect itself. The solenoid is switched on its ground side, so the module's driver has to pull the line down for the solenoid to operate. A winding with shorted turns has lower resistance and therefore draws more current, and when that current exceeds what the driver is designed to pass, the protection built into the module switches the output off. With the driver off, nothing is pulling the line down, so it reads high — and high is what gets reported. This is why a coil resistance measurement below specification is a finding rather than a pass, and why it should be checked deliberately.

Why did the code come back after the repair?

The most common reason is that the solenoid was drawing too much current and something else was replaced instead. Clearing the code or repairing wiring resets the module's protection, so the system works again immediately and looks fixed. The excess current is still there, the driver trips again, and the fault returns a few days or weeks later. If this describes your experience, ask whether the coil resistance was measured against specification, because a value below the published figure identifies the cause and nothing else will.

Could it really just be a fuse?

It can, and it is worth ruling out first because it costs almost nothing. The module watches only its own output line — it has no way of seeing the fuse, the relay or the feed wire that supplies the solenoid with voltage. If that supply is missing, the line reads high and this code is the only symptom the module can produce, even though nothing is wrong with the solenoid, the wiring to it or the module. Check for voltage at the solenoid feed with the ignition on, and if it is absent, find out what else is on that fuse — a group of unrelated things having gone quiet is the fastest route to the answer.

Is it safe to keep driving?

Yes. This fault means the solenoid is not being energised, so the servo cannot pull the throttle open and the failure direction is toward the system doing nothing. Cruise control will be unavailable and nothing else about the vehicle changes — the circuit is entirely separate from engine management, so there is no effect on idle, throttle response, fuel consumption or emissions. The only practical consequence beyond losing the feature is that a stored code will prevent a pass anywhere inspection includes a scan.

AutoLogicTools provides general automotive planning information. Trouble code interpretations, repair cost ranges, and DIY guidance vary by vehicle, model year, location, parts quality, and shop labor rate. Always verify a diagnosis with a scan tool and a qualified automotive professional before approving repairs.