// Adds dimensions UUID, Author and Topic into GA4
Monday, August 3, 2026
31.9 C
Singapore

’16 disruptions in 2.5 months is insane’ — S’poreans react to latest train disruptions

SINGAPORE: SMRT issued a warning to commuters at 11:00 pm on Tuesday night (Sep 16), telling them to expect a delay in train services on the East-West Line (EWL) between Aljunied and Tanah Merah, advising them to add 20 minutes to their travel time.

A few minutes later, however, SMRT gave an update, saying that a signalling fault meant an outage of train services that affected six stations in all: Tanah Merah, Bedok, Kembangan, Eunos, Paya Lebar, and Aljunied.

As it commonly does, SMRT provided free regular and bridging bus services.

Screenshot 2025 09 17 at 8.40.19%E2%80%AFAM
Telegram screengrab/ SMRT

On Wednesday morning (Sep 17), another signal fault occurred on the Thomson-East Coast Line (TEL), disrupting train services between Woodlands North and Bayshore for two hours. As this happened at a time when people were on their way to work, it affected thousands of commuters.

Screenshot 2025 09 17 at 8.42.11%E2%80%AFAM
Reddit screengrab/ u/HatchBeast

Commenters on social media are expressing a “here we go again” mentality. Some, however, have recounted how stressful it has been for them.

It’s a disaster for me. Never experienced this before. Didn’t know how to navigate. The buses were so full, and then, no more free bus ride. Decided to take the red line. I’m still on the train to get to my workplace. A taxi would be about S$40. Started at 6:30 a.m., and it’s 9:44 [a.m.], and I’m still on the train. Could have reached HK if I had taken a flight from Changi! I must work out a plan B. I think the breakdown will happen again for sure,” a Facebook user commented on the SMRT account page on Sep 17.

“I was lost. No clear direction on which bus services go to Caldecott from Woodlands South station. Taxi fares went up to S$62,” wrote another.

Reddit users, meanwhile, are keeping tabs on how many disruptions have occurred recently, though the list below does not include Wednesday’s TEL disruption.

  • “1 July 2025: TEL 5-hour disruption
  • 3 July 2025: Bukit Panjang LRT 2-hour disruption
  • 8 July 2025: NSL 1-hour disruption
  • 19 July 2025: Bukit Panjang LRT 2-hour disruption
  • 6 August 2025: EWL 5-hour disruption
  • 12 August 2025: Sengkang-Punggol LRT 10-hour disruption
  • 12 August 2025: NEL 3-hour disruption
  • 15 August 2025: Sengkang-Punggol LRT 4-hour disruption
  • 28 August 2025: DTL 1-hour disruption
  • 1 September 2025: CCL 1-hour disruption
  • 2 September 2025: NSL 0.5-hour disruption
  • 10 September 2025: TEL Springleaf 0.25-hour disruption
  • 10 September 2025: Tanah Merah-Changi Airport 0.25-hour disruption
  • 13 September 2025: Punggol LRT 3-hour disruption
  • 14 September 2025: NSL 1-hour disruption
  • 16 September 2025: EWL ?-hour disruption (Till End of Service),” noted a user on the platform. 

“16 disruptions in 2.5 months is insane,” another commented. /TISG

Read also: Another day, another train disruption, but some in Singapore are keeping score

- Advertisement -

Hot this week

‘Getting zero offers for 2 months was a good slap in the face’: Fresh grad reluctantly accepts job offer that pays below salary expectations

SINGAPORE: It seems the job market is forcing the hands of some fresh graduates, pushing them to accept jobs that pay below their salary expectations. Recently, an NUS graduate shared anonymously...

‘I feel lost and embarrassed’: Singaporean fresh grad opens up after failing probation

SINGAPORE: A Singaporean fresh graduate shared on Reddit that she feels “dejected” after failing her probation at her first full-time job, an outcome she never saw coming because she believed thing...

Popular Categories

document.addEventListener("DOMContentLoaded", () => { const trigger = document.getElementById("ads-trigger"); if ('IntersectionObserver' in window && trigger) { const observer = new IntersectionObserver((entries, observer) => { entries.forEach(entry => { if (entry.isIntersecting) { lazyLoader(); // You should define lazyLoader() elsewhere or inline here observer.unobserve(entry.target); // Run once } }); }, { rootMargin: '800px', threshold: 0.1 }); observer.observe(trigger); } else { // Fallback setTimeout(lazyLoader, 3000); } });
// //
Enable Notifications OK No thanks