| 17-11 | 7 | | UEC Cyclo Cross European Cup - round 4 (C2) | |
| 01-10 | DNF | | Coppa Citta' Di San Daniele (1.2) | 160.0km |
| 23-09 | 33 | | UCI World Championship Zurich TT U23 (CM) | 29.0km |
| 11-09 | 15 | | UEC Road European Championships TT U23 (CC) | 31.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 22-08 | DNF | | Stage 4La Rosière-Montvalezan - Les Karellis (143.0km) | 143.0km |
| 21-08 | 124 | 117 | Stage 3Peisey-Vallandry - La Rosière-Montvalezan (71.0km) | 71.0km |
| 20-08 | 118 | 114 | Stage 2Mouchard - Plateau d'Hauteville (170.0km) | 170.0km |
| 19-08 | 57 | 9 | Stage 1Sarrebourg - Ronchamp (185.0km) | 185.0km |
| 18-08 | 6 | 6 | PrologueSarrebourg - Sarrebourg (7.0km) | 7.0km |
| | | Tour de Slovaquie (2.1) |
| 27-06 | DNF | | Stage 2Nitra - Hlohovec (192.0km) | 192.0km |
| 26-06 | 13 | 70 | Stage 1Dunajská Streda - Dunajská Streda (28.0km) | 28.0km |
| 23-06 | DNF | | National Road Championships - Austria (CN) | 157.0km |
| 21-06 | 1 | | National Road Championships - Austria TT U23 (CN) | |
| | | Tour of Malopolska (2.2) |
| 110 | | Klassement |
| 39 | | Jongeren |
| 02-06 | 111 | 110 | Stage 3Jablonka - Stary Sacz Przehyba (130.0km) | 130.0km |
| 31-05 | 106 | 98 | Stage 1Koszyce - Myslenice (143.0km) | 143.0km |
| 30-05 | 27 | 27 | PrologueKraków - Kraków (1.0km) | 1.0km |
| 01-05 | 67 | | Eschborn-Frankfurt U23 (1.2U) | 129.0km |
| 28-04 | 73 | | Int. Raffeisenbank Kirschblütenrennen (1.2) | |
| 25-04 | DNF | | Gran Premio della Liberazione (1.2U) | 138.0km |
| 14-04 | 101 | | Tour du Doubs (1.1) | 200.0km |
| 19-03 | DNF | | GP Brda-Collio (1.2) | |
| 17-03 | DNF | | GP Slovenian Istria (1.2) | 156.0km |
| 03-03 | DNS | | Trofej Porec - Porec Trophy (1.2) | |
| 28-02 | DNF | | Trofej Umag - Umag Trophy (1.2) | |
| 03-02 | 55 | | UCI Cyclo-cross World Championships Tabor U23 (CM) | |
| 14-01 | 4 | | Austrian National Championships CX (CN) | |
| 07-01 | DNS | | UCI Cyclo-cross World Cup - Zonhoven (CDM) | |