普通にサブルーチンの部分を、
シナリオの中(callで飛ばなくても実行される位置)に書いてんじゃねーの

少なくともバグではないと思うよ