I had a look at the result of getMuzzleVector and the muzzle vector doesn't appear to be changing when the player is looking at the ground.