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

Singaporeans call Andre Low’s loss at Jalan Kayu the ‘biggest disappointment of GE2025’

SINGAPORE: After the People’s Action Party (PAP) candidate Ng Chee Meng won in the newly created Jalan Kayu Single Member Constituency (SMC) in the May 3 polls by the slimmest of margins, some commenters online called it “the biggest disappointment of GE2025”.

Mr Ng won 51.47% of the votes, while Workers’ Party (WP) candidate Andre Low received 48.53%. As the “closest loser” in this year’s elections, he will serve as a Non-Constituency Member of Parliament (NCMP) for the next five years.

It could have been perceived, after all, as somewhat of a David and Goliath fight, with Mr Ng, 56, the National Trades Union Congress (NTUC) secretary-general, former Education Minister, and Minister in the Prime Minister’s Office, hoping to make a comeback to the political arena versus a 33-year-old new candidate.

However, Mr Low entered the fight swinging. At the WP rally on the second day of the campaign, April 24, he trended online after he brought up the blocked Income-Allianz deal, which the NTUC had endorsed. The matter became one of the surprise issues during the campaign period.

A few days later, however, after old messages from a private Telegram chat with his business school classmates were leaked on Facebook and Reddit, Mr Low issued an apology and said he was taking responsibility for his actions.

He appears to have won many supporters, according to a Reddit post put up shortly after the poll results were made known.

Read related: ‘I know the real Andre Low… I’d gladly send a bulldog like him to Parliament’

Some expressed disappointment at Mr Ng’s win, writing that they knew of voters in Jalan Kayu SMC who are supporters of the PAP but who had said they would choose Mr Low over Mr Ng. Others said they expected that the fight would be a close one, but with the results being the other way around, with Mr Low squeaking by with a win.

“Yes!” one wrote, adding that they were “honestly so disappointed” at the choice voters had made.

“This result was super bewildering,” agreed a commenter.

“I am a Jalan Kayu voter, and I realised that people around me don’t care about NTUC-Allianz. They are more concerned about whether they get a dog park,” another chimed in.

“If it’s of any consolation, 52% in an exam is close to a fail, and 48% for an oppo candidate no one has heard of + involved in a leaked drama publicised on media is commendable,” one noted.

“NTUC Sec-Gen barely scraped through against a 33-year-old newbie. He ought to reflect on this. Hopefully, better results for WP in the next GE if Jalan Kayu SMC is still around,” a Reddit user wrote.

“Yes, as someone who could not vote this time, this is the only result I was focusing on. Andre put up a good fight, and the result is not what I wanted, but it is what it is,” one commented.

On May 4, Mr Low thanked supporters in a social media post, writing, “We can take heart in a strong result. For all who supported me, do not be disheartened, our message remains undimmed! I hope to continue to serve Singapore and Jalan Kayu to the best of my ability.”

 

View this post on Instagram

 

A post shared by Andre Low (@andrelow.sg)

/TISG

Read also: WP’s Andre Low: Ng Chee Meng and I represent 2 very different kinds of candidates

- Advertisement -

Hot this week

WP MP Kenneth Tiong: Heartland Singaporeans are concerned over loss of income when RTS opens

"The train starts running in 2027. DBS estimates $1.5 to $2.1 billion of retail spending a year will move across the Causeway. The Government is helping shops spruce up and giving out vouchers. I s...

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...

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