Od 2001 do 2006 był dyrektorem Zespołu Szkół Ekonomicznych w Lublinie. W marcu 2006 został ponownie powołany na stanowisko kuratora oświaty. W związku z konfliktem z ministrem Romanem Giertychem podał się do dymisji w kwietniu 2007, zostając zastąpionym przez Marka Błaszczaka.
W wyborach do parlamentu w 2007 uzyskał mandat poselski na Sejm VI kadencji, startując z 9. miejsca listy Prawa i Sprawiedliwości w okręgu lubelskim i otrzymując 11 929 głosów. W wyborach samorządowych w 2010 z ramienia PiS ubiegał się o urząd prezydenta Lublina, przegrywając w drugiej turze z Krzysztofem Żukiem (PO) z wynikiem 45,35% głosów. W wyborach w 2011 z powodzeniem ubiegał się o reelekcję do Sejmu, dostał 23 848 głosów. W 2015 został ponownie wybrany do Sejmu, otrzymując 15 713 głosów. W wyborach w 2019 nie uzyskał poselskiej reelekcji.
25 listopada 2019 został przez premiera Mateusza Morawieckiego powołany na stanowisko wojewody lubelskiego. W listopadzie 2022 odmówił objęcia mandatu poselskiego, z którego zrezygnował Jerzy Bielecki. W 2023 bez powodzenia ubiegał się z ramienia PiS o mandat senatora XI kadencji. W grudniu tego samego roku zakończył pełnienie funkcji wojewody.