Ved Paralympiske sommerleker 2012 i London vant han sølv på 100 meter. Han løp på 13,10 i finalen, og ble slått av ukrainske Iurii Tsaruk, som løp på 12,62, som var ny europarekord. På 200 meter satte han ny personlig rekord med tiden 27,02 i finalen, men dette holdt bare til femteplass. Også her vant Iurii Tsaruk gull, og han slo Mokgalagadis paralympiske rekord fra PL 2004, da han satte ny verdensrekord med tiden 25,86.