We address the problem of controlling bloat in genetic programming(GP) for image noise reduction. One of the most basic nonlinear filters for image noise reduction is the stack filter, and GP is suitable for estimating the min-max function used for a stack filter. However, bloat often occurs when the min-max function is estimated with GP. In order to enhance image noise reduction with GP, we extend the size-fair model GP, and propose a novel bloat control method based on tree size and frequent trees for image noise reduction, where the frequent trees are the relatively small subtrees appearing frequently among the population. By using texture images with impulse noise, we demonstrate that the size-fair model can achieve bloat control, and performance improvement can be achieved through bloat control based on tree size and frequent trees.Further, we demonstrate that the proposed method outperforms a typical image noise reduction method.