| 03-10 | 61 | | Sparkassen Münsterland Giro (1.1) | |
| 28-08 | 40 | | Schaal Sels (1.1) | 200.0km |
| 07-08 | 81 | | Antwerpse Havenpijl (1.2) | |
| 31-07 | 103 | | Sparkassen Giro (1.1) | 175.0km |
| | | Kreiz Breizh Elites (2.2) |
| 25-07 | DNF | | Stage 4Carhaix - Rostrenen (169.0km) | 169.0km |
| 24-07 | 116 | 120 | Stage 3Plouguernével - Ploërdut (102.0km) | 102.0km |
| 24-07 | 131 | 120 | Stage 2Cleden-Poher - Carhaix (96.0km) | 96.0km |
| 23-07 | 50 | 50 | Stage 1Calanhel - Plouray (174.0km) | 174.0km |
| | | Internationale Thüringen-Rundfahrt U23 (2.2U) |
| 19-06 | DNF | | Stage 7Weida - Weida (166.0km) | 166.0km |
| 18-06 | 67 | 77 | Stage 6Kahla - Kahla (197.0km) | 197.0km |
| 17-06 | 64 | 87 | Stage 5Katzhütte - Neuhaus am Rennweg (11.0km) | 11.0km |
| 16-06 | 82 | 89 | Stage 4Fröttstädt - Ohrdruf (145.0km) | 145.0km |
| 15-06 | 75 | 90 | Stage 3Ohrdruf - Ohrdruf (145.0km) | 145.0km |
| 14-06 | | 92 | Stage 2Streufdorf - Streufdorf (22.0km) | 22.0km |
| 13-06 | 94 | 94 | Stage 1Erfurt - Erfurt (179.0km) | 179.0km |
| | | Giro della Regione Friuli Venezia Giulia (2.2) |
| 07-05 | DNF | | Stage 4Arta Terme - Osoppo (156.0km) | 156.0km |
| 06-05 | 61 | 66 | Stage 3Fagagna - Tarvisio (153.0km) | 153.0km |
| 05-05 | 60 | 80 | Stage 2Azzano Decimo - Pordenone (166.0km) | 166.0km |
| 04-05 | 91 | 90 | Stage 1Udine - Motta di Livenza (157.0km) | 157.0km |
| 25-04 | 55 | | Rund um Köln (1.1) | 200.0km |
| 16-04 | 64 | | Liège-Bastogne-Liège U23 (1.2U) | 182.0km |
| | | Cinturón Ciclista Internacional a Mallorca (2.2) |
| 70 | | Klassement |
| 09-04 | 93 | 70 | Stage 4Palma - Palma (144.0km) | 144.0km |
| 08-04 | 120 | 75 | Stage 3Playa de Muro - Playa de Muro (147.0km) | 147.0km |
| 07-04 | 47 | 47 | Stage 2Alcúdia - Pollença (148.0km) | 148.0km |
| 06-04 | 112 | 112 | Stage 1Llucmajor - Llucmajor (7.0km) | 7.0km |
| | | Istarsko proljece - Istrian Spring Trophy (2.2) |
| 18-03 | DNF | | Stage 1Porec - Labin (137.0km) | 137.0km |
| 17-03 | 141 | 141 | PrologueTinjan - Sveti Petar u Sumi (5.0km) | 5.0km |