Barisan Nasional candidate Datuk Mah Siew Keong has been announced as the winner in the Teluk Intan by-election, defeating Dyana Sofya Mohd Daud with a majority of 238 votes.

The BN candidate received 20,157 votes while the DAP candidate garnered 19,919 votes.

Earlier, it was reported that Gerakan was expecting a recount when the unofficial results were released around 8pm. Gerakan wanita chief Datuk Tan Lian Ho had told a frenzied crowd at the Gerakan headquarters in Teluk Intan that they had won "by about one hundred over votes."

The Teluk Intan by-election recorded the second lowest voter turnout in five by-elections held after the 13th general election (GE13), much to the dismay of Election Commission chairman Tan Sri Abdul Aziz Mohd Yusof.

In a Bernama report tonight, Abdul Aziz expressed his unhappiness with the reduction of more than 8,000 voters compared to the voter turnout during GE13.

"We don't know the reason for the low turnout. However, it is a process of democracy and we have opened centres for polling," the report quoted his as telling reporters at the vote tally centre at SMK Abdul Rahman Talib Saturday.

The Teluk Intan by-election recorded 66.67 percent voter turnout or 40,236 voters, including ordinary voters, early voters and absentee voters.

During GE13, a total of 80.7 percent or 48,839 people went to the polls in Teluk Intan, the report said.

Meanwhile, Mah's win quashed predictions by analysts that victory would swing Dyana Sofya's way despite factors that traditionally would not be in her favour: her youth, inexperience, and being a Malay contesting in a Chinese-majority seat.