// Adds dimensions UUID, Author and Topic into GA4
Tuesday, September 22, 2026
29.9 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

Hot this week

Fallen tree in the road was cleared in minutes as dozens of strangers unite to move the branch, preventing traffic

A tree branch suddenly fell across MacPherson Road during the evening rush hour yesterday (18th), obstructing traffic. Dozens of people spontaneously moved the branch, clearing a lane to prevent tr...

US self-driving car company enters Singapore, heating up driverless ride-hailing services in the country

Waymo, the American self-driving car company, announced plans to launch a fully autonomous ride-hailing service in Singapore starting in 2028, making Singapore Waymo 's first market in Southeast As...

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