W czasie szkolenia poznał budowę wahadłowców i Międzynarodowej Stacji Kosmicznej oraz przeszedł kurs przetrwania w warunkach ekstremalnych. 1999 – zakończył przeszkolenie podstawowe i zdobył uprawnienia do pilotowania promów kosmicznych. Później został skierowany do Biura Astronautów NASA do personelu wspierającego pracę astronautów (Astronaut Support Personnel). 2004 – wiosną został przedstawicielem Biura Astronautów ds. technicznych dotyczących operacji lądowania promów i przewozu ich na platformę startową. Został wówczas tzw. astronautą-menedżerem. Od czerwca 2004 do listopada 2005 pracował na Florydzie w Centrum Lotów Kosmicznych im. Johna F. Kennedy’ego. Kierował kompleksem, w których odbywały się przygotowania przedstartowe (Launch Integration) programu Space Shuttle. 2006 – w styczniu przywrócono mu status aktywnego astronauty. 31 października został pilotem załogi STS-125. 2009 – 11 maja wystartował w kosmos na pokładzie wahadłowca Atlantis do misji STS-125, której zadaniem był remont teleskopu Hubble’a (misja serwisowa HST-SM4). Lot trwał 12 dni 21 godzin i 37 minut.