// Adds dimensions UUID, Author and Topic into GA4
Tuesday, June 23, 2026
27.2 C
Singapore

Ex-ISD boss breaks silence on Mas Selamat

Under his watch, Singapore’s worst security breach happened. Six years later, former ISD director Pang Kin Keong tells Challenge, a civil service magazine, what he and his officers went through. Excerpts:

“To have an incident of this national security magnitude happen under your leadership…that’s an awful feeling…I’ll be honest. When I read the newspapers or my email (I felt) like slumping and going back to bed, under the covers.

“This difficulty of keeping up the morale intensified over time…After eight, nine months, and we still have absolutely no trace of him, how do you keep on telling them (his staff),  ‘it’s okay. You need to keep plugging away.’

“I wanted at least to be able to say, yes, the mistake happened under me, but I rectified it under my watch as well.

“Loyalty is a two-way thing. You can’t expect your officers to be loyal to you unless you’re loyal to them…When they have that confidence in you, they’ll go to the ends of the world for you.”

Pang, 47, moved on to become permanent secretary of the Law Ministry in 2010 and the Ministry of Transport in 2012.

- Advertisement -

Hot this week

Raising kids or DINK in your early 30s? Netizens ask

On Reddit, a netizen shared: Married (M,31) to my wife (F,30). Have 2 kids, both under 2s and i honestly love them to bits. But to be realistic, its obviously not easy and the struggle is indeed ve...

‘What is this?’ Passenger complained that buses skipped stop twice, waited almost an hour for another one

On Facebook, a commuter shared: Waited for bus 74 and my bus stop got skipped both times, had to wait close to an hour for the third bus to finally let me board. What is this? The bus doesn't have ...

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