| Saison | Compétition | Club | MJ. | B | P | J/JR/R | Min. J. | 
|---|---|---|---|---|---|---|---|
| 2021/2022 | Championship Play-Offs |  Dunfermline Athletic | 2 | 0 | 0 | 1/0/0 | 180 | 
| 2021/2022 | Coupe d'Écosse |  Dunfermline Athletic | 1 | 0 | 0 | 1/0/0 | 90 | 
| 2021/2022 | Championship |  Dunfermline Athletic | 19 | 1 | 1 | 4/0/1 | 1519 | 
| 2021/2022 | League Cup |  Dunfermline Athletic | 1 | 0 | 0 | 0/0/0 | 90 | 
| 2020/2021 | A-League Men |  Western Sydney Wanderers | 23 | 4 | 2 | 10/0/0 | 2014 | 
| 2020/2021 | Championship |  Dundee | 3 | 0 | 1 | 1/0/0 | 270 | 
| 2020/2021 | League Cup |  Dundee | 1 | 1 | 0 | 1/0/0 | 90 | 
| 2019/2020 | Championship |  Dundee | 22 | 1 | 2 | 3/0/0 | 1917 | 
| 2019/2020 | Coupe d'Écosse |  Dundee | 1 | 0 | 0 | 1/0/0 | 90 | 
| 2018/2019 | Premier League |  Rangers | 1 | 0 | 0 | 0/0/0 | 27 | 
| 2018/2019 | Premiership |  Rangers | 1 | 0 | 0 | 0/0/0 | 27 | 
| 2018/2019 | Ligue Europa |  Rangers | 1 | 0 | 0 | 0/0/0 | 5 | 
| 2018/2019 | League Cup |  Rangers | 1 | 0 | 0 | 0/0/0 | 56 | 
| 2018 | Premier League |  Rangers | 1 | 0 | 0 | 0/0/0 | 27 | 
| 2017/2018 | Premiership |  Rangers | 16 | 5 | 3 | 6/0/0 | 1277 | 
| 2017/2018 | Linafoot |  Rangers | 12 | 5 | 0 | 5/0/0 | 994 | 
| 2017/2018 | First Division |  Rangers | 10 | 5 | 0 | 4/0/0 | 814 | 
| 2017/2018 | Coupe d'Écosse |  Rangers | 1 | 0 | 0 | 0/0/0 | 73 | 
| 2017 | League Cup |  Rangers | 3 | 0 | 0 | 0/0/0 | 248 | 
| 2016/2017 | Carabao Cup |  Norwich City | 1 | 0 | 0 | 0/0/0 | 0 | 
| 2016/2017 | Championship |  Norwich City | 23 | 7 | 1 | 9/0/0 | 1696 | 
| 2015/2016 | Premier League |  Norwich City | 21 | 0 | 1 | 2/0/0 | 1287 | 
| 2015/2016 | Carabao Cup |  Norwich City | 3 | 0 | 0 | 0/0/0 | 0 | 
| 2014/2015 | Premier League |  West Bromwich Albion | 21 | 1 | 0 | 5/0/0 | 1594 | 
| 2014/2015 | Championship |  Norwich City | 18 | 3 | 0 | 2/0/0 | 1159 | 
| 2013/2014 | Premier League |  West Bromwich Albion | 14 | 2 | 0 | 4/0/0 | 1105 | 
| 2013/2014 | Carabao Cup |  West Bromwich Albion | 2 | 0 | 0 | 0/0/0 | 0 | 
| 2012/2013 | Premier League |  West Bromwich Albion | 26 | 1 | 3 | 3/0/0 | 1763 | 
| 2011/2012 | Carabao Cup |  West Bromwich Albion | 2 | 0 | 0 | 1/0/0 | 0 | 
| 2011/2012 | Premier League |  West Bromwich Albion | 31 | 3 | 2 | 4/0/0 | 1455 | 
| 2010/2011 | Premier League |  West Bromwich Albion | 21 | 1 | 1 | 2/0/0 | 1444 | 
| 2010/2011 | Carabao Cup |  West Bromwich Albion | 3 | 0 | 0 | 0/0/0 | 0 | 
| 2009/2010 | Championship |  West Bromwich Albion | 45 | 13 | 20 | 10/1/0 | 3801 | 
| 2009/2010 | FA Cup |  West Bromwich Albion | 4 | 3 | 0 | 0/0/0 | 0 | 
| 2009/2010 | Carabao Cup |  West Bromwich Albion | 3 | 2 | 0 | 0/0/0 | 0 | 
| 2008/2009 | FA Cup |  West Bromwich Albion | 3 | 0 | 0 | 0/0/0 | 0 | 
| 2008/2009 | Premier League |  West Bromwich Albion | 8 | 0 | 0 | 1/0/0 | 427 | 
| Total: | 369 | 58 | 37 | 80/1/1 | 25539 | 
| De | À | Date | Montant | 
|---|---|---|---|
|  Western Sydney Wanderers |  Dunfermline Athletic | 27/07/2021 | N/a | 
|  Dundee |  Western Sydney Wanderers | 01/12/2020 | N/a | 
|  Rangers |  Dundee | 20/09/2019 | Gratuit | 
|  Norwich City |  Rangers | 06/07/2017 | N/a | 
|  West Bromwich Albion |  Norwich City | 01/07/2015 | N/a | 
|  Norwich City |  West Bromwich Albion | 01/06/2015 | N/a | 
|  West Bromwich Albion |  Norwich City | 18/02/2015 | Prêt | 
|  Livingston |  West Bromwich Albion | 01/08/2008 | 117K € | 
|  Livingston |  Partick Thistle | 01/08/2005 | Prêt |