In 1969, David returned to parliament by winning the Dato' Kramat seat in Penang and was re-elected to his Pantai state seat for the third time, both under the newly formed Parti Gerakan Rakyat Malaysia. When Gerakan joined the Barisan Nasional in 1973, David resigned to join the Parti Keadilan Masyarakat Malaysia. In the 1974 general election, both his Dato' Kramat and Pantai seats were abolished in a re-delineation exercise. David turned to contest in the Jelutong parliament seat (also in Penang) against Rasiah Rajasingam, a former Gerakan colleague, but lost.