He began 2012 in strong form. First he walked an Italian record of 1:17:30 hours to win at the Memorial Mario Albisetti 20 km walk, then he had the fourth best 50 km time of his career a week later to win at the Dudinska patdesiatka.
Schwazer was excluded from the 2012 Summer Olympics in London after an "adverse result" from a doping test. Schwazer said "My career is finished...I wanted to be stronger for this Olympics, I made a mistake". He announced his decision to quit athletics and described the result as the "biggest blow of my life".