Barrier functions are considered within the context of constrained model predictive control (MPC). A new class of controller is eveloped by including a weighted barrier function in the objective that ensures inequality constraints are satisfied. Fixing the barrier weighting term to be some positive value -- possibly much greater than zero -- has interesting effects on controller dynamics, particularly near constraint boundaries. When the barrier weighting term is close to zero, the corresponding dynamic behaviour resembles that of standard MPC. The new class may be seen as a generalisation of standard MPC; in particular, standard MPC is subsumed within the new class as a special limiting case. Conditions are determined for the barrier such that correct steady-state behaviour is guaranteed; a barrier satisfying these conditions is called a recentred barrier and consequently the new controller class is called recentred barrier function MPC (abbreviated as r-MPC). Nominal closed-loop stability is shown for this class of controllers. This relies on bounding the recentred barrier function from above using a convex quadratic term. We point out that this property is satisfied using gradient recentred self-concordant barrier functions, which are known to exist for all closed convex domains.