SINAMICS G120C Motor Holding Brake Always ON: p1215, r0899.12, and BICO Source Selection
A SINAMICS G120C PN (PROFINET) drive can exhibit a persistent "holding brake output always ON" fault when the digital output (DO1) wired to an external 24 V motor holding brake remains energized from the moment the drive is powered, even when the inverter is in an OFF1, OFF2, or OFF3 condition and no fault is active. Status word bit 12 reads "holding brake open" continuously, the motor can be commanded at any time, and the brake never re-engages. The root cause is almost always a wrong BICO source on the digital output — typically r0052.12 (Status word 1, bit 12) routed to DO1 instead of r0899.12 (Status word 2, bit 12) — combined with the brake configuration parameter p1215 not being set to the value that activates the G120C's internal sequence control for the DO relay. This article documents the exact commissioning sequence, the parameter logic, the BICO interconnection rules, the factory-reset recovery path, and the verification steps that resolve the issue on both new and previously-parameterized drives.
1. Problem Description and Field Symptoms
The reported fault presents with five reproducible symptoms on a SINAMICS G120C PN drive that has been configured to control an external motor holding brake through its relay output (DO1, terminals 19/20 on the Control Unit, or 5/6 on the Power Module depending on frame size):
- DO1 is energized whenever the drive is powered and the three-phase line input is present, regardless of whether OFF1, OFF2, or OFF3 is active.
- Status word bit 12 reports "holding brake open" continuously, even with the inverter in the "Ready to switch on" or "Switched on" state with no ON command issued.
- The motor can be started from the controller at any time, bypassing the brake pre-opening sequence; the brake never drops out under torque.
- STO (Safe Torque Off) is not used in the application, eliminating the most common safety-related explanation.
- Manual parameter changes to brake timing (
p1216,p1217,p1218,p1219,p1220) have no effect on the output state.
On drives that have been previously parameterized with non-default values for the brake function, attempting to re-configure the brake through STARTER, Startdrive, or the IOP-2 panel often leaves residual BICO routings that keep the relay latched. A factory reset followed by a clean re-parameterization is the only reliable remediation path on a drive that has been edited before.
2. Affected Products, Frames, and Firmware
The behavior applies to every member of the SINAMICS G120C family that exposes DO1 as a relay output, including the PROFINET, PROFIBUS, EtherNet/IP, and USS/Modbus RTU variants. The parameter set is identical across communications variants; only the fieldbus telegram mapping differs.
| Variant | Order number (example) | Frame sizes | Minimum firmware |
|---|---|---|---|
| G120C PN (PROFINET) | 6SL3210-1KE21-3AF1 | FSA, FSB | V4.4 SP3 |
| G120C DP (PROFIBUS) | 6SL3210-1KE21-3AB1 | FSA, FSB | V4.4 SP3 |
| G120C PN US | 6SL3210-1KE21-3BF1 | FSA, FSB, FSC | V4.5 |
| G120C USS/Modbus | 6SL3210-1KE21-3AP1 | FSA, FSB | V4.4 |
The brake-control sequence is implemented in firmware and is independent of the G120C's larger siblings (G120, G120D, G120P). On the modular SINAMICS G120 with a CU230P-2 or CU240E-2 Control Unit, the parameter numbers and BICO routings are the same, but the available values of p1215 differ slightly because the G120 has more digital outputs. Always cross-check against the SINAMICS G120C Operating Instructions for the firmware version installed on the specific Control Unit (visible in r0018).
3. SINAMICS G120C Brake-Control Architecture
The motor holding brake function on a G120C is implemented as a closed sequence inside the inverter's brake-control state machine. The state machine governs the relationship between the inverter enable chain, the motor flux, and the digital output that energizes the external brake rectifier or contactor. The state machine has six functional states defined by r0899.0 through r0899.15:
- Bit 0 — Initialization active
- Bit 1 — Wait for brake to close
- Bit 2 — Wait for brake to open
- Bit 3 — Brake closed
- Bit 4 — Brake open
- Bit 5 — Brake opens or closes (transient)
- ...
- Bit 12 — Holding brake open (the signal that must drive the relay)
The signal at r0899.12 is the only one that reflects the brake-control state machine output. r0052.12 is a generic status word bit assigned to "Motor direction of rotation" or similar on most firmware versions — it has no relationship to the brake and defaults to logic "1" whenever the inverter is in the "Ready" or higher state, which is exactly the "always ON" symptom observed in the field.
The brake state machine is enabled by p1215 > 0. When p1215 = 3, the state machine drives the DO1 relay output through the internal binary BICO interconnect p0730 = r0899.12 (or directly via the p1215 = 3 path that internally routes to DO1). For all other values of p1215 that involve DO1 (notably 1, 2, 3, 13, 14, 15), the relay must be wired to r0899.12 through the BICO matrix. The Power Module's internal brake output on FSA–FSC is pre-wired in firmware and does not require BICO routing; it follows p1215 directly.
4. Parameter p1215: Configuration Values
p1215 is the master switch for the motor holding brake function. Selecting the wrong value is the most common commissioning error and the first thing to verify whenever the brake misbehaves. The values supported on the G120C are listed below; refer to the SINAMICS G120 Parameter Manual for the exact list applicable to your firmware.
| Value | Meaning | Output used | BICO source |
|---|---|---|---|
| 0 | No motor holding brake configured | None | — |
| 1 | Motor holding brake according to sequence control (digital output via BICO) | User-selected DO | r0899.12 |
| 2 | Motor holding brake always open | Internal (for test) | — |
| 3 | Motor holding brake connected via DO1 (24 V / 0 V) — recommended for G120C | DO1 | Internal r0899.12 |
| 4 | Motor holding brake via Safe Brake Relay (SBR) — requires Safety Integrated | SBR | r0899.12 |
| 5 | Motor holding brake via Safe Brake Adapter 230 V AC | SBA | r0899.12 |
| 10 | Motor holding brake as for p1215 = 1, but with Safe Brake Control | DO + SBC | r0899.12 |
| 13 | Motor holding brake connected via DO1 with 24 V / 0 V and SBC | DO1 + SBC | r0899.12 |
| 14 | Motor holding brake via Safe Brake Relay with SBC | SBR + SBC | r0899.12 |
| 15 | Motor holding brake via SBA 230 V AC with SBC | SBA + SBC | r0899.12 |
p1215 = 3 is the correct value. Setting p1215 = 1 without subsequently routing the BICO source leaves the relay in a defined but un-controlled state; setting p1215 = 0 disables the entire brake state machine, and the relay will follow whatever the last BICO source commanded.When p1215 = 3 is selected on a G120C, the Control Unit internally routes the brake-control signal to DO1 — no additional BICO configuration is required for DO1. The BICO p0730 = r0899.12 route is therefore recommended but not strictly mandatory on this firmware path; however, configuring it explicitly is the best practice because it survives firmware upgrades and makes the configuration portable to a CU230P-2 / CU240E-2 in a modular G120.
5. Root Cause: Why r0052.12 vs. r0899.12 Matters
The reported "DO1 always ON" symptom is almost always caused by routing the wrong status-word source to the relay. SINAMICS exposes two parallel status words with non-overlapping bit assignments:
| Parameter | Name | Bit 12 default meaning | Brake function? |
|---|---|---|---|
| r0052.12 | CO/BO: Status word 1, bit 12 | Direction of rotation / drive-specific | NO — do not use |
| r0898.12 | CO/BO: Status word 1 (extended), bit 12 | Drive-specific | NO — do not use |
| r0899.12 | CO/BO: Status word 2, bit 12 | <>Holding brake open / closedYES — the correct source |
Status word 1 (r0052 / r0898) reports the ZSW1 bits defined by the PROFIdrive profile — the same bits that are mapped to the cyclic PZD status word in the fieldbus telegram. Bit 12 of ZSW1 is reserved for "Speed setpoint/actual deviation within tolerance" in some profiles and is drive-specific in others. On the G120C firmware, bit 12 of r0052 follows the internal "motor rotating" or "drive healthy" state, so it is high whenever the inverter is in the "Ready to switch on" or higher state — which is exactly when the drive is powered and no fault is present. Routing r0052.12 to DO1 therefore latches the relay closed as soon as the line is connected.
Status word 2 (r0899) is the SINAMICS-specific extended status word. Bit 12 is assigned exclusively to the output of the brake-control state machine. The bit is low (relay open, brake engaged) when the inverter is in the OFF1/OFF2/OFF3 state with no enable, and it transitions high (relay closed, brake released) only after the state machine has confirmed flux build-up and the configured pre-opening delay p1216 has elapsed. Routing r0899.12 to DO1 is therefore the only correct BICO source for any external brake function.
The source confusion is compounded by the fact that STARTER and Startdrive parameter lists display r0052 as "Status word 1" with the human-readable bits shown elsewhere, while r0899 is labelled "Status word 2 — sequence control" in the parameter help text. Engineers familiar with PROFIdrive often instinctively route r0052.12 because it appears first in the BICO source list, especially when the BICO source picker is sorted by parameter number.
6. DO1 Relay Output: Electrical Ratings and Wiring
The DO1 output on a SINAMICS G120C PN Control Unit is implemented as a potential-free changeover contact (relay) on terminals 19 (common), 20 (NO), and 21 (NC) of the Control Unit. Electrical ratings from the G120C manual are:
| Parameter | Value |
|---|---|
| Maximum switching voltage, AC | 250 V AC |
| Maximum switching voltage, DC | 30 V DC |
| Maximum continuous current | 2 A |
| Maximum making current | 10 A (inrush, 1 s) |
| Minimum contact load | 100 mA at 12 V DC |
| Mechanical life | 10 million operations |
| Electrical life at full load | 100,000 operations |
The 250 V AC / 2 A rating makes DO1 suitable for directly switching a 230 V AC brake contactor or a 24 V DC brake rectifier up to 2 A continuous. For 400 V AC brakes or 24 V DC brakes drawing more than 2 A, an interposing contactor or solid-state relay is mandatory. The minimum contact load of 100 mA is the most frequent source of field failures: small 24 V brake rectifiers that draw less than 100 mA will not reliably close the relay's gold contacts. In that case, fit a 1 kΩ 2 W bleed resistor across the relay contact to bring the wetting current above the minimum.
The standard wiring for a 24 V DC brake rectifier is:
+24V ──┬── Brake rectifier + (24 V input)
│
G120C │
DO1 20 ──┘ (NO contact, closes when r0899.12 = 1)
DO1 19 ───── Brake rectifier – (0 V reference)
For a 230 V AC brake, substitute the rectifier input with the brake contactor coil, observing the inrush current limit. Reverse the connections on terminals 19/20 only if the brake is logic-inverted; the SINAMICS default is non-inverting (NO contact closes to release the brake).
7. Step-by-Step Commissioning Procedure
The following procedure brings a G120C PN drive from a clean (or factory-reset) state to a fully functional external motor holding brake. The procedure assumes STARTER or Startdrive in TIA Portal V15.1 or higher; the IOP-2 handheld panel is supported but the parameter list is more cumbersome.
p0003 = 3.-
Reset to factory defaults. Set
p0010 = 30andp0970 = 1(or, on the IOP, select "Reset to factory"). Wait for the drive to complete the reset and reboot. This step is non-optional on a drive that has been previously parameterized. -
Run the basic commissioning wizard. With STARTER or Startdrive, enter the motor nameplate data, the encoder (none for induction motor without encoder, the G120C default for FSA–FSC), and the application class (Standard Drive Control —
p0096 = 0). Accept the default ramp times and current limits. -
Configure the brake enable. Set
p1215 = 3(Motor holding brake connected via DO1, 24 V / 0 V). Acknowledge any safety-integrated warning that the function has not been commissioned in the Safety acceptance test; this is normal and does not block the brake function on a non-Safety application. -
Set the BICO source for DO1. Set
p0730 = 899.12(orr0899.12in the BICO picker). This is the explicit BICO route; firmware internally also sets this whenp1215 = 3, but the explicit write protects against the case where a previous configuration overwrote the internal route. -
Configure brake timing. The default values are 0.1 s opening delay and 0.1 s closing delay; adjust to match the brake manufacturer's specifications. Typical values:
p1216 = 0.20(release time — brake opening delay, in s)
p1217 = 0.10(application time — brake closing delay, in s)
p1218 = 0.10(opening threshold, in s)
p1219 = 0.10(closing threshold, in s)
p1220 = 0.20(wait time at start, s)
p1221 = 0.10(wait time at stop, s) -
Disable commissioning inhibit. Set
p0009 = 0andp0010 = 0to take the drive out of commissioning mode. -
Copy RAM to ROM. Set
p0971 = 1to save the parameter set to the CF card (or non-volatile memory on the CU). This is essential because the brake configuration lives in the load RAM only until the save is executed. - Power-cycle the drive. Remove and reapply the 24 V control voltage and the 400 V line input. The brake should now be released only when the inverter is enabled and the pre-opening delay has expired; the relay should de-energize whenever the inverter is in OFF1, OFF2, or OFF3.
8. Factory Reset: The Recovery Path
For a drive that has been previously edited — for example, the second drive in the field report that "behaves the same way" after a failed configuration — a factory reset is the documented recovery path. The reset is non-destructive of the CF card bootloader, but it does wipe all parameters back to the OEM defaults defined by the firmware version. There are three reset methods:
-
Parameter reset — set
p0010 = 30,p0970 = 1. The drive writes the OEM defaults to RAM and reboots. ~10 s. - Project reset (STARTER/Startdrive) — in the project tree, right-click the drive and select "Restore factory settings". Same internal effect as the parameter reset.
- Manual reset — disconnect the 400 V line, leave the 24 V control voltage on, press and hold the IOP-2 OK key for 5 s until the display prompts "Reset to factory?", then press OK. Useful in the field without a laptop.
After the reset, the entire commissioning procedure in section 7 must be repeated from step 2. Skipping the basic commissioning wizard and going directly to p1215 = 3 typically fails because the motor data and the current controller have not been initialized; the drive will trip F0085 (copy parameters) or F0086 on the first enable.
9. Integration with Safety Integrated (STO, SBC, SBR, SBA)
The user's report explicitly states "STO function is not used", so the simple DO1 path with p1215 = 3 is sufficient. For applications that do require safety-integrated brake control, the parameter map is as follows:
| Safety requirement | p1215 | Hardware | Notes |
|---|---|---|---|
| External brake, no safety | 3 | DO1 + 24 V rectifier | Most common on G120C |
| External brake with SBC (Safe Brake Control) | 13 | DO1 + 24 V rectifier, SBC channel | Requires Safety license |
| External brake via Safe Brake Relay (24 V) | 4 | SBR module on CU | Requires Safety license + SBR hardware |
| External brake via Safe Brake Adapter (230 V AC) | 5 | SBA module on CU | Requires Safety license + SBA hardware |
| SBC + SBR | 14 | SBR + SBC channel | Safety Integrated |
| SBC + SBA | 15 | SBA + SBC channel | Safety Integrated |
Per the Siemens FAQ on motor holding brake function and reverse command, when the converter is switched on, the Safe Brake Relay must be supplied with current first so that the Control Unit can check whether it is working correctly. Failing to do so will trigger F30016 (load voltage fault on brake) on the first enable. The same caveat applies to the Safe Brake Adapter when used with p1215 = 5 or 15.
10. Verification and Functional Test
After commissioning, execute the following verification sequence. Each step must pass before the drive is released to production.
-
State readback with drive disabled. Power the drive. Do not issue an ON command. Read
r0899.12— it must be 0. Readr0052.12— it may be 1; this is expected and not a fault. - Voltage measurement on DO1. With a multimeter across DO1 terminals 19 and 20, read 0 V (or open-circuit). The relay contact must be open.
-
Enable drive and measure release. Issue the ON command from the controller (Control word bit 0 = 1, then bit 3 = 1, then bit 2 = 1 to release the ramp enable, in PROFIdrive order). After
p1216 + p1220seconds, DO1 must close and the brake must release. Measurer0899.12— it must be 1. -
Disable drive and measure engagement. Drop the ON command. After
p1217seconds, DO1 must open and the brake must engage. The drive will continue to hold the motor on torque for the closing thresholdp1219; then the inverter enters OFF1 ramp and the pulses are cancelled. -
Fault simulation. Trip the drive with an external fault (e.g., disconnect the encoder if present, or set
p2100 = 0and trigger F0001 viap2101 = 0). The brake must engage withinp1217seconds even though no ON/OFF transition occurred. This verifies the fault path. - Power loss simulation. With the motor running, remove the 24 V control supply. The relay must de-energize and the brake must engage by spring force. This is the safe-state behavior required for vertical axes and is the reason the brake is "fail-safe" by design (energize-to-release).
- Cycle test. Run 50 open/close cycles at the rated cycle rate. Monitor the relay contact resistance — it should remain below 100 mΩ throughout. A rise indicates contact welding or contamination.
All seven steps should be recorded in the commissioning report. Steps 1, 2, 5, and 6 are the safety-critical items; step 6 in particular must be repeated annually as part of the safety inspection, even if the application is non-Safety.
11. Parameter Reference
| Parameter | Name | Set value | Notes |
|---|---|---|---|
| p0010 | Drive commissioning parameter filter | 0 (run), 30 (reset) | Set to 0 to exit commissioning |
| p0730 | Signal source for DO1 | r0899.12 (899.12) | BICO source for the relay |
| p1215 | Motor holding brake configuration | 3 | Enables DO1 brake function |
| p1216 | Motor holding brake release time | 0.20 s (default 0.1 s) | Set to brake manufacturer spec |
| p1217 | Motor holding brake closing time | 0.10 s (default 0.1 s) | Set to brake manufacturer spec |
| p1218 | Motor holding brake opening threshold | 0.10 s | Pre-opening delay |
| p1219 | Motor holding brake closing threshold | 0.10 s | Pre-closing delay |
| p1220 | Wait time at start | 0.20 s | After ON before brake release |
| p1221 | Wait time at stop | 0.10 s | After OFF before brake engage |
| p2100 | Fault reaction: change to alarm | 0 (no change) | — |
| r0052.12 | Status word 1, bit 12 | read-only | DO NOT use as BICO source |
| r0899.12 | Status word 2, bit 12 | read-only | Correct BICO source for DO1 |
| r0899.13 | Status word 2, bit 13 | read-only | Brake close command |
| p0970 | Reset to factory settings | 1 (start reset) | Then p0971 = 1 to save |
| p0971 | Save parameters to non-volatile | 1 | Save current RAM to ROM/CF |
12. Troubleshooting Matrix
| Symptom | Likely cause | Correction |
|---|---|---|
| DO1 always ON, no OFF1 effect | BICO source = r0052.12 instead of r0899.12 | Set p0730 = 899.12; factory reset if p0730 write is rejected |
| DO1 always ON, r0899.12 = 1, drive in OFF1 | Brake function disabled (p1215 = 0); r0899.12 follows last state | Set p1215 = 3 and save |
| DO1 never ON, drive runs normally | p1215 = 0 or p0730 = 0 or signal invert p0748.0 = 1 | Set p1215 = 3, p0730 = 899.12, p0748.0 = 0 |
| Brake chatters (cycles every 100 ms) | Pre-opening delay too short, or brake release time exceeds p1216 | Increase p1216 to 1.5× the brake manufacturer's release time |
| F07416 (drive: brake control error) | Brake release time exceeded 110% of p1216 | Increase p1216 or repair the brake |
| F30016 (load voltage fault, brake) | Brake supply not connected or polarity reversed | Check the 24 V supply to the brake rectifier, observe polarity |
| F30017 (brake control hardware fault) | Safe Brake Relay / Adapter defective | Replace the SBR/SBA module; safety acceptance re-test required |
| DO1 ON at power-up even after factory reset | Hardware defect on the Control Unit's DO1 driver | Replace the Control Unit; verify with bench test |
| Brake engages while motor still turning | p1219 (closing threshold) too low | Increase p1219 to allow ramp-down to zero speed before brake engages |
| Motor coasts to stop, no brake action | p1215 = 0 or DO1 wired NC instead of NO | Set p1215 = 3, rewire DO1 20 to the rectifier, not 21 |
13. Best Practices and Field-Commissioning Notes
Based on the field report and the supporting Siemens documentation, the following practices are recommended for any G120C installation that controls an external motor holding brake through DO1:
- Always factory-reset a previously-parameterized drive before commissioning the brake. The cost of the reset (~10 s of downtime) is negligible compared to the time spent diagnosing a residual BICO route.
- Set both
p1215 = 3andp0730 = 899.12explicitly. The internal firmware route for p1215 = 3 is correct, but the explicit BICO write documents the intent and survives a later configuration with a different p1215 value. - Never route
r0052.12,r0898.12, or any other ZSW1 bit to DO1. The brake state machine only uses r0899.12. - For 24 V DC brake rectifiers drawing less than 100 mA, fit a 1 kΩ 2 W bleed resistor across the DO1 contact. This brings the wetting current above the relay's minimum contact load and prevents contact failure on low-current brakes.
- Wire the brake to terminal 20 (NO) of DO1, not terminal 21 (NC). The default logic is non-inverting; using NC would require a logic invert via
p0748.0 = 1, which is a common field error. - When the drive powers up after a loss of the 24 V control supply, expect the brake to be engaged by spring force. The Safe Brake path is energize-to-release; the brake is fail-safe by design.
- For STO/SBC applications, complete the Safety acceptance test before the brake is used in production. The brake function in Safety mode requires a separate acceptance per TIA Portal Safety Integrated documentation.
- Refer to the Siemens G120 DO relay output FAQ for additional relay-protection guidance, including the use of RC snubbers on AC brake contactors and free-wheeling diodes on DC brake coils.
- Always run the seven-step verification in section 10 before releasing the drive. The fault path (step 5) and the power-loss path (step 6) are the safety-critical tests and are the most often skipped in fast-paced commissioning.
14. Summary of the Field Case
field reports — "G120C PN drive, DO1 always ON, holding brake status bit always set" — has a single root cause: r0052.12 was incorrectly routed to DO1 instead of r0899.12. Because r0052.12 is a ZSW1 bit that follows the "Ready to switch on" state and not the brake-control state machine, the relay remained energized from the moment the line was connected. The correct fix is to set p1215 = 3 and route p0730 = 899.12. On the first drive (the one that worked out of the box), no BICO was modified and the firmware internal default routed r0899.12 to DO1 automatically. On the second drive (the one that was edited before), a factory reset cleared the residual BICO state, after which the same parameter sequence resolved the issue. The user reported that the factory reset "actually helped" — confirming that the residual BICO state on a previously-edited drive is the single largest contributor to this class of fault.
15. Frequently Asked Questions
Why is DO1 energized as soon as the G120C is powered up, with no ON command issued?
DO1 is following the wrong BICO source — most commonly r0052.12 (Status word 1, bit 12) instead of r0899.12 (Status word 2, bit 12). r0052.12 reflects the "Ready to switch on" state of the inverter, so it goes high the moment the line is connected. r0899.12 reflects the brake-control state machine output, which stays low until the inverter is enabled and the configured pre-opening delay has elapsed. Set p1215 = 3 and p0730 = 899.12, then save with p0971 = 1.
What is the difference between r0052.12 and r0899.12 on a G120C?
r0052 is the SINAMICS Status word 1 (ZSW1) and follows the PROFIdrive profile; its bit 12 is drive-specific and typically indicates a "speed within tolerance" or "direction of rotation" state, not the brake. r0899 is the SINAMICS extended Status word 2 (ZSW2) and bit 12 is assigned exclusively to the holding-brake state machine output. Only r0899.12 should be routed to DO1 or to any external brake driver.
Do I need to set both p1215 = 3 and p0730 = 899.12?
Setting p1215 = 3 alone routes r0899.12 to DO1 internally on the G120C firmware, so the function will work. However, explicitly setting p0730 = 899.12 is best practice: it documents the configuration, makes it portable to a modular SINAMICS G120, and survives firmware upgrades that may change the internal default. Always perform both writes, then save with p0971 = 1.
The factory reset fixed my second drive. Why did the brake work on a brand-new drive without any reset?
A brand-new G120C leaves the factory with p1215 = 0 and p0730 = 0 (no BICO source). With p1215 = 0, the firmware internally routes r0899.12 to DO1 in a way that keeps the relay de-energized, so the symptom does not appear. The first time the engineer edits p1215 = 3 and accidentally routes r0052.12 to DO1, the relay latches. A factory reset clears that incorrect BICO route and returns the drive to the as-shipped state, after which the correct p1215 = 3 + p0730 = 899.12 sequence works.
Can the motor holding brake be used with STO (Safe Torque Off) on the G120C?
Yes. The STO function and the motor holding brake function are independent. For a non-Safety application, p1215 = 3 and DO1 are sufficient. For a Safety Integrated application where the brake must be released only when STO is not active, set p1215 = 13 (SBC) and route the safety enable to the SBC channel; alternatively, use p1215 = 4 with a Safe Brake Relay (SBR) module or p1215 = 5 with a Safe Brake Adapter (SBA). A Safety acceptance test is mandatory for any of these code paths.