At the 2004 Summer Olympics in Athens, Silva qualified again for the 50 m freestyle by clearing a FINA B-standard entry time of 22.86 from the World Championships in Barcelona, Spain. He challenged seven other swimmers on the same heat as Sydney, including two-time Olympians Rolandas Gimbutis of Lithuania and Camilo Becerra of Colombia. He shared a sixth seed with Becerra in his lifetime best of 23.23. Silva failed to advance into the semifinals, as he managed to repeat the same position from his first Olympic stint in the preliminaries.