Virtual bone position doesn't change

I am adding a peek like functionality like in pubg mobile.

Basically when I am doing peek, I am using a different base pose animation(in a different state machine) which has the spine bone rotated by 30degrees, but the gun which is attached to right hand virtual bone stays at the same location. The gun doesn’t move with the hand as he bends for peeking.

Can you please tell how to fix it? When the player peeks, how to move the virtual bone also along with the right hand(whose location is changed due to peeking).