diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 1a4152bc52..8637b1684e 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -1528,14 +1528,19 @@ static void homeaxis(AxisEnum axis) { #if SERVO_LEVELING && !defined(Z_PROBE_SLED) // Deploy a probe if there is one, and homing towards the bed - if (axis == Z_AXIS && axis_home_dir < 0) deploy_z_probe(); - - #elif defined(SERVO_ENDSTOPS) + if (axis == Z_AXIS) { + if (axis_home_dir < 0) deploy_z_probe(); + } + else - // Engage Servo endstop if enabled - if (servo_endstops[axis] > -1) - servo[servo_endstops[axis]].write(servo_endstop_angles[axis * 2]); + #endif + #ifdef SERVO_ENDSTOPS + { + // Engage Servo endstop if enabled + if (servo_endstops[axis] > -1) + servo[servo_endstops[axis]].write(servo_endstop_angles[axis * 2]); + } #endif // Set a flag for Z motor locking @@ -1618,15 +1623,20 @@ static void homeaxis(AxisEnum axis) { #if SERVO_LEVELING && !defined(Z_PROBE_SLED) - // Stow the Z probe if it had been deployed - if (axis == Z_AXIS && axis_home_dir < 0) stow_z_probe(); - - #elif defined(SERVO_ENDSTOPS) + // Deploy a probe if there is one, and homing towards the bed + if (axis == Z_AXIS) { + if (axis_home_dir < 0) stow_z_probe(); + } + else - // Retract Servo endstop if enabled - if (servo_endstops[axis] > -1) - servo[servo_endstops[axis]].write(servo_endstop_angles[axis * 2 + 1]); + #endif + #ifdef SERVO_ENDSTOPS + { + // Retract Servo endstop if enabled + if (servo_endstops[axis] > -1) + servo[servo_endstops[axis]].write(servo_endstop_angles[axis * 2 + 1]); + } #endif }