If you are hitting 2-3" below center at 25yds (75ft) you are likely shooting a rifle that was zeroed for 100 yards. Because of the flight of the bullet you will be hitting low at 25 yards and that's okay, that's to be expected. With a 100yd zero, you will hit slightly low at all distances up to and beyond 100 yards because 100 yards is the peak of the bullet trajectory. That's where the term "holdover" comes from.
If you can, download and print a couple of the 25yard targets from this site and take them to the range next time and you'll be able to confirm a longer zero at short ranges:
http://arma-dynamics.com/red-dot-zero-targets.html (As you scroll down, the third option is what you want if it is currently zeroed for 100 yards).