01.09 › 03.091-3/9 | | | | Grand Prix Rüebliland (2.1) Luxembourg | | | | more |
| 23 | | | General classificationGeneral classification | | | | |
03.09 | 32 | | | S4Stage 4 - Wohlen › Wohlen | 119.4 | | | |
02.09 | 60 | 26 | | S3 (ITT)Stage 3 (ITT) - Möhlin › Möhlin | 9.6 | | | |
02.09 | 37 | 16 | | S2Stage 2 - Möhlin › Möhlin | 83.2 | | | |
01.09 | 24 | 24 | | S1Stage 1 - Schöftland › Schöftland | 107.8 | | | |
04.08 | 96 | | | European Continental Championships MJ - Road Race (CC) | 120.6 | | | more |
28.07 › 30.0728-30/7 | | | | Internationale Niedersachsen-Rundfahrt der Junioren (2.1) | | | | more |
| 23 | | | Youth classificationYouth classification | | | | |
| 63 | | | General classificationGeneral classification | | | | |
30.07 | 61 | | | S3Stage 3 - Wallenhorst › Wallenhorst | 114.3 | | | |
29.07 | 70 | 76 | | S2bStage 2b - Wallenhorst › Wallenhorst | 94.2 | | | |
29.07 | 81 | 78 | | S2a (ITT)Stage 2a (ITT) - Bramsche › Bramsche | 10.5 | | | |
28.07 | 53 | 54 | | S1Stage 1 - Wallenhorst › Wallenhorst | 66.3 | | | |
14.07 › 16.0714-16/7 | | | | OberÖsterreich Juniorenrundfahrt (2.1) | | | | more |
| 8 | | | Youth classificationYouth classification | | | | |
| 29 | | | General classificationGeneral classification | | | | |
16.07 | 59 | | | S3Stage 3 - Bad Wimsbach › Altmünster | 94.7 | | | |
15.07 | 44 | 29 | | S2Stage 2 - Bad Leonfelden › Bad Leonfelden | 117.6 | | | |
14.07 | 37 | 37 | | S1Stage 1 - Haid/Ansfelden › Marchtrenk | 96.5 | | | |
08.07 › 09.078-9/7 | | | | GP Général Patton (2.Ncup) | | | | more |
| 47 | | | General classificationGeneral classification | | 5 | | |
09.07 | 44 | | | S2Stage 2 - Munshausen › Munshausen | 93.8 | | | |
08.07 | 61 | 61 | | S1Stage 1 - Ettelbruck › Troisvierges | 102 | | | |
25.06 | 9 | | | National Championships Luxembourg MJ - Road Race (NC) | | | | more |
21.06 | 7 | | | National Championships Luxembourg MJ - ITT (NC) | 18.7 | | | more |
08.06 › 11.068-11/6 | | | | Trofeo Karlsberg (2.Ncup) Luxembourg | | | | more |
| 17 | | | Youth classificationYouth classification | | | | |
| 5 | | | Mountains classificationMountains classification | | | | |
| 54 | | | General classificationGeneral classification | | 5 | | |
11.06 | 44 | | | S4Stage 4 - Reinheim › Reinheim | 120 | | | |
10.06 | 75 | 61 | | S3b (ITT)Stage 3b (ITT) - Brenschelbach › Brenschelbach | 11.5 | | | |
10.06 | 51 | 60 | | S3aStage 3a - Homburg › Homburg | 79 | | | |
09.06 | 89 | 67 | | S2Stage 2 - Blieskastel- › Ommersheim | 99 | | | |
08.06 | 63 | 65 | | S1Stage 1 - Neunkirchen › Neunkirchen | 99 | | | |
20.05 › 21.0520-21/5 | | | | Trophée Centre Morbihan (2.Ncup) | | | | more |
| 13 | | | Youth classificationYouth classification | | | | |
| 38 | | | General classificationGeneral classification | | 5 | | |
21.05 | 32 | | | S3Stage 3 - Pluméliau › Locminé | 95.5 | | | |
21.05 | 40 | 46 | | S2 (ITT)Stage 2 (ITT) - Réguiny › Naizin | 7.2 | | | |
20.05 | 55 | 55 | | S1Stage 1 - Saint-Jean-Brévelay › Saint-Jean-Brévelay | 101.7 | | | |
29.04 › 30.0429-30/4 | | | | Tour des Portes du Pays d'Othe (2.1) Luxembourg | | | | more |
| 19 | | | Youth classificationYouth classification | | | | |
| 66 | | | General classificationGeneral classification | | | | |
30.04 | 79 | | | S3Stage 3 - Estissac › Estissac | 113 | | | |
30.04 | 7 | 28 | | S2 (TTT)Stage 2 (TTT) - Estissac › Estissac | 16.1 | | | |
29.04 | 55 | 55 | | S1Stage 1 - Troyes › Mesnil-Saint-Père | 116.8 | | | |
09.04 | DNF | | | Paris - Roubaix Juniors (1.Ncup) | 111 | | | more |
02.04 | 48 | | | Grand Prix Bob Jungels (1.1) | 130.8 | | | more |
26.03 | 78 | | | Gent-Wevelgem/Grote Prijs A. Noyelle-Ieper (1.Ncup) | 129.2 | | | more |
19.03 | 51 | | | Guido Reybrouck Classic (1.1) | 128.7 | | | more |