diff --git a/ArduPlane/failsafe.pde b/ArduPlane/failsafe.pde
index 4b54eeae96df23ce033d2b08a74e940ee08fc582..8f9046da39f4cbdff9690e2c39dc0cead8be45a7 100644
--- a/ArduPlane/failsafe.pde
+++ b/ArduPlane/failsafe.pde
@@ -59,12 +59,18 @@ void failsafe_check(void)
         channel_throttle->radio_out = channel_throttle->read();
         channel_rudder->radio_out   = channel_rudder->read();
 
+        int16_t roll = channel_roll->pwm_to_angle_dz(0);
+        int16_t pitch = channel_pitch->pwm_to_angle_dz(0);
+        int16_t rudder = channel_rudder->pwm_to_angle_dz(0);
+
         // setup secondary output channels that don't have
         // corresponding input channels
-        RC_Channel_aux::set_servo_out(RC_Channel_aux::k_aileron, channel_roll->radio_out);
-        RC_Channel_aux::set_servo_out(RC_Channel_aux::k_elevator, channel_pitch->radio_out);
-        RC_Channel_aux::set_servo_out(RC_Channel_aux::k_rudder, channel_rudder->radio_out);
-        RC_Channel_aux::set_servo_out(RC_Channel_aux::k_steering, channel_rudder->radio_out);
+        RC_Channel_aux::set_servo_out(RC_Channel_aux::k_aileron, roll);
+        RC_Channel_aux::set_servo_out(RC_Channel_aux::k_elevator, pitch);
+        RC_Channel_aux::set_servo_out(RC_Channel_aux::k_rudder, rudder);
+        RC_Channel_aux::set_servo_out(RC_Channel_aux::k_steering, rudder);
+        RC_Channel_aux::set_servo_out(RC_Channel_aux::k_flaperon1, roll);
+        RC_Channel_aux::set_servo_out(RC_Channel_aux::k_flaperon2, roll);
 
         if (g.vtail_output != MIXING_DISABLED) {
             channel_output_mixer(g.vtail_output, channel_pitch->radio_out, channel_rudder->radio_out);