// Adds dimensions UUID, Author and Topic into GA4
Wednesday, September 23, 2026
25.3 C
Singapore

Earlier first bus for service 950 from JB Checkpoint starting September 15

SINGAPORE: Starting September 15 2025, the first departure of bus service 950 from Johor Bahru Checkpoint (bus stop 46219) will be moved up by 10 minutes. On weekdays (excluding public holidays), the first bus will now leave at 4:50 a.m., instead of the current 5:00 a.m.

Service 950 operates on a cross-border loop between Woodlands Temporary Bus Interchange (Woodlands Regional Interchange) and JB Sentral Bus Terminal, passing through key points including Marsiling MRT, Woodlands Checkpoint, and Johor Bahru Checkpoint before reaching JB Sentral.

The earlier start is expected to improve connectivity for early cross-border commuters, including workers and students needing to enter Singapore before the morning rush. As one of the key public transport links across the Causeway, it also supports smoother travel and better traffic management at one of the world’s busiest land crossings.

Travellers are encouraged to check the MyTransport.SG app, SMRT Connect, or official bus stop information boards for the latest service timings and updates before planning their journeys. They can also check on Facebook community groups where real-time traffic updates are also posted.

IMG 0671
Photo: Facebook / SMRT

Hot this week

Johor Menteri Besar Dato’ Onn Hafiz Ghazi hosts Johor media at Sunway Puteri Hill, calling press a “strategic partner” in bringing governmentt policies...

Johor Menteri Besar Dato' Onn Hafiz Ghazi has hosted a media engagement session at Sunway Puteri Hill, describing the press as a strategic partner rather than just a news outlet and calling for con...

Johor Menteri Besar visits Machap Dam as declining water levels prompt cloud seeding and emergency transfers amid prolonged dry spell

Johor Menteri Besar Dato' Onn Hafiz Ghazi has visited Machap Dam to assess declining water levels following continuous hot weather since early August, with mitigation measures including cloud seedi...

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