Abstract The scheduling of maintenance operations in railway is a major concern for both maintenance planners and train dispatchers since it requires the track to be blocked and the rail traffic to be disrupted. This paper provides a mathematical programming model aimed at adjusting the timetable of trains in a single track according to maintenance operations. The uncertainty of the maintenance activities might cause delays in the initial maintenance plan which is further overlapped with pre-determined train scheduling. This study addresses the uncertainty in maintenance activities through including buffer time to the modified scheduling. We also addressed the operational constraints such as speed limit due to maintenance operations in the adjusted scheduling. The result of the model provides railway planners with a modified timetable which includes both maintenance plan and train operations schedules.