En 2012, il est recruté par l'équipe Garmin-Barracuda. Il prend part au Tour Down Under dont il prend la neuvième place de la cinquième étape et termine onzième au classement général. Il dispute le Tour d'Italie, son premier grand tour, aux côtés du vainqueur Ryder Hesjedal. Il remporte avec ses coéquipiers la , un contre-la-montre par équipes. Sélectionné pour représenter la Nouvelle-Zélande aux Jeux olympiques de Londres, il s'y classe dixième de la course en ligne et dix-neuvième du contre-la-montre.