Čavić representó a Serbia en los Juegos Olímpicos de Verano de 2012 en Londres, Inglaterra, convirtiéndolo en su final deportivo. Se clasificó para los 100 metros mariposa
final y empatado en el cuarto lugar.