diff --git a/src/joystick/SDL_joystick.c b/src/joystick/SDL_joystick.c index 81f0ebfd0..1e6d9cb1a 100644 --- a/src/joystick/SDL_joystick.c +++ b/src/joystick/SDL_joystick.c @@ -842,7 +842,7 @@ SDL_PrivateJoystickAxis(SDL_Joystick * joystick, Uint8 axis, Sint16 value) info = &joystick->axes[axis]; if (!info->has_initial_value || - (!info->has_second_value && info->initial_value == -32768 && SDL_abs(value) < (SDL_JOYSTICK_AXIS_MAX / 4))) { + (!info->has_second_value && (info->initial_value == -32768 || info->initial_value == 32767) && SDL_abs(value) < (SDL_JOYSTICK_AXIS_MAX / 4))) { info->initial_value = value; info->value = value; info->zero = value;