This paper addresses a real-life short-term rescheduling problem of helicopter flights from one onshore airport to several maritime units in the context of the oil industry. This is a complex and challenging problem to solve because of the particular characteristics observed in practice, such as pending flights transferred from previous days with different recovering priorities, changes in flight timetables and helicopter assignments previously planned for the current day, time windows and minimum time intervals between take-offs from the airport and the maritime units, mandatory flight precedence, maximum flight delays, among many others. The problem consists of determining a daily flight reschedule that satisfies operational constraints and recovers all pending flights, while minimizing flight delays and costs related to helicopter usage and reassignments. We propose two mixed integer programming models to formulate the problem with all relevant characteristics, one based on the extension of traditional network flow models and other that relies on a novel event-based representation of the problem. Additionally, we develop an effective heuristic approach based on constructive and improvement heuristics, able to produce high-quality solutions within acceptable computational times. The results of computational experiments with real-life data provided by an oil company highlight the potential of the proposed approaches to support decision making in this context.