diff --git a/src/modules/mavlink/mavlink_command_sender.cpp b/src/modules/mavlink/mavlink_command_sender.cpp index 7ca7600bad..841de386a1 100644 --- a/src/modules/mavlink/mavlink_command_sender.cpp +++ b/src/modules/mavlink/mavlink_command_sender.cpp @@ -123,8 +123,8 @@ void MavlinkCommandSender::handle_mavlink_command_ack(const mavlink_command_ack_ while (command_item_t *item = _commands.get_next()) { // Check if the incoming ack matches any of the commands that we have sent. if (item->command.command == ack.command && - from_sysid == item->command.target_system && - from_compid == item->command.target_component && + (item->command.target_system == 0 || from_sysid == item->command.target_system) && + (item->command.target_component == 0 || from_compid == item->command.target_component) && item->num_sent_per_channel[channel] != -1) { item->num_sent_per_channel[channel] = -2; // mark this as acknowledged break;