Every function hooked to admin_init
will be called after you save settings in the admin page. You should add some extra check of conditions to trigger your code on correct page. For example:
is this the setting page?
is set $_REQUEST
with values from options page etc…