Four years after competing in his last Olympics, Carnol qualified for his second Luxembourgish team, as a 23-year-old, at the 2012 Summer Olympics in London, by attaining an A-standard entry time of 2:09.78 (200 m breaststroke) from the European Long Course Meet in Luxembourg City. On the first day of the morning preliminaries, Carnol won the second heat of the men's 100 m breaststroke by nearly half a second (0.50) ahead of Serbia's Čaba Silađi, with a time of 1:01.46. His storming victory was not sufficiently enough to put him through the next round, as Carnol placed twenty-sixth out of 44 swimmers in the preliminary heats. In the 200 m breaststroke, Carnol recorded the twelfth fastest qualifying time of 2:10.83 to secure his place for the semifinals. Carnol fell short in his bid for the final, as he finished the semifinal run by 0.03 of a second behind New Zealand's Glenn Snyders in a second slowest time of 2:11.17. Achieving his best finish, Carnol became the first ever Luxembourgian swimmer to reach the semifinals at the Olympics.