// Adds dimensions UUID, Author and Topic into GA4
Friday, July 10, 2026
32.2 C
Singapore

Earlier start for cross-border buses 160 and 170/170X from JB Checkpoint from Sept 15

SINGAPORE: From September 15, 2025, passengers travelling from Johor Bahru to Singapore will be able to catch cross-border buses 160 and 170/170X a little earlier in the morning.

On weekdays, excluding public holidays, the first bus for both services will now leave Johor Bahru Checkpoint (bus stop 46219) at 4:50 a.m., ten minutes earlier than the current 5:00 a.m. start.

What this means for commuters

For thousands of people who cross the Causeway daily for work or school, those extra 10 minutes could make a real difference. An earlier first bus gives commuters more breathing space to clear immigration, get ahead of the morning crowd, and reach their destinations on time.

Services 160 and 170/170X are among the busiest cross-border routes, linking Johor Bahru with key points in Singapore such as Kranji MRT, Queen Street Terminal, and Bukit Batok. The new schedule is expected to give early travellers more flexibility and a smoother start to their day.

IMG 0685
Photo: SBS Transit SG Official Website
- Advertisement -

Hot this week

Why some Singaporeans stopped buying the cheapest option and started saving more

SINGAPORE: If there's one thing many Singaporeans excel at, it's finding clever ways to save money. Recently, many revealed the simple lifestyle changes that quietly ended up saving them a surpri...

Photo of helpers waiting outside maid agency puts treatment of domestic workers under the spotlight

SINGAPORE: A viral photo of several domestic helpers sitting on the floor outside a maid agency has sparked fresh debate over how migrant workers are treated in Singapore, with many netizens callin...

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