The easiest fix for you would be to set the element’s AnchorPoint to halfway (0.5) on X and Y, then reposition the element so that it’s approximately or directly where it was before you set AnchorPoint.
The other way to fix this is to add a position key to your tweening goals. Position should be a subtraction of half the X and Y axis growth (both scale and offset) in the grow tween and an addition of the same factor in the shrink tween.
Elaborating a little on what colbert said, I believe (could be wrong, very tired and wanting to be helpful), that after setting the AnchorPoint to (0.5, 0.5) you would just add half of the UIObject’s size to it’s position. Example: if your Button has a size of (0, 80, 0, 40) and a position of (0, 20, 1, -140) you could set it’s AnchorPoint to (0.5, 0.5) (which moves it), and then change it’s position to be += UDim2.new(0, 80/2, 0, 40/2) which would have it’s position being (0, 60, 1, -120) to be in the same position as before.