// Adds dimensions UUID, Author and Topic into GA4
Tuesday, July 14, 2026
30 C
Singapore

Singapore to review Malaysia’s request to start cross-border buses earlier

SINGAPORE: Singapore’s Land Transport Authority (LTA) confirmed on Aug 3 that it is evaluating a proposal from Malaysia to move the start time of cross-border bus services from Johor Bahru to 4 a.m., which is one hour earlier than the current schedule.

“We are working with our bus operators to review the request,” said the LTA, The Sunday Times was quoted as saying by Malay Mail. The request, submitted by Malaysia’s Land Public Transport Agency (APAD) on Jun 17, is currently under consideration. LTA stated it is collaborating with both public and private bus operators to assess the feasibility of the proposal.

Addressing early-morning bottlenecks

The move is part of wider efforts to tackle congestion during peak morning hours at the Johor-Singapore Causeway. Johor Works, Transportation, Infrastructure and Communication Committee chairman Mohamad Fazli Mohamad Salleh said the proposal was aimed at reducing bottlenecks that regularly occur in the early hours, as reported by The Star and quoted by Malay Mail.

These bottlenecks usually arise when traffic volume exceeds the road’s capacity, especially at checkpoints where all vehicles must slow down for clearance. Merging lanes, unpredictable driver behaviour, such as abrupt lane changes or braking, and limited processing counters can all contribute to worsening traffic. In the case of the Causeway, the density of commuters during early hours and the limited transit options often result in this traffic.

This proposal aims to start the bus services earlier so that it could help distribute traffic more evenly across time periods. This can help relieve pressure on immigration facilities, thereby improving the overall flow.

Read related: ETS expansion to Johor Bahru strengthens Malaysia–Singapore rail linksETS expansion to Johor Bahru strengthens Malaysia–Singapore rail links

Current cross-border bus operations

At present, public buses that travel between Johor Bahru and Singapore typically start service around 5 a.m. or later. For instance, SBS Transit’s service 160 departs the checkpoint at 5 a.m. on weekdays, and at 5:50 a.m. on weekends and public holidays. Service 170, which runs from Larkin Terminal in Johor to Queen Street Terminal in Singapore, begins at 5:20 a.m. on weekdays and 5:30 a.m. on weekends or holidays.

The services involved in the review include those run by SBS Transit and SMRT, as well as several private operators.

Potential benefits for Singapore commuters

An earlier start could offer more flexibility for early-morning travellers, especially for Malaysian workers commuting to Singapore. It may also help alleviate the worsening pressure on immigration facilities during peak periods by spreading traffic more evenly.

This proposal highlights ongoing efforts by both Malaysia and Singapore to improve cross-border transport links and the commuter experience. With the RTS Link slated to begin operations in 2027, earlier bus services could act as a short-term measure to relieve congestion while the larger rail project is completed.

Read also: ‘We admire Singapore deeply’: Johor calls for end to rivalry, urges deeper regional partnership

Featured image by Freepik

- Advertisement -

Hot this week

How Johor gave the ex-PM a new lifeline for freedom

There are many reasons why Najib Razak is still a popular topic in the Johor elections, certainly among political figures from all sides of the political class. And this is probably why it is the c...

Ex-PAP MP Amrin Amin: Resilience cannot mean enduring everything

From Mr Amrin's FB post about bullying and parenting. "But resilience cannot mean enduring everything. Sometimes the lesson is to stand firm. Sometimes it is to walk away, find other friends and si...

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