You cannot add to the ribbon on the fly using VBA, so I would guess that the other groups and buttons are setup in the xlam but not visible, and when the button is clicked their visible property is set and the ribbon is invalidated.