Erratic gimbal roll servo - overrides mavlink command

Hello all,

I am having an issue setting up a servo gimbal in ArduCopter 4.0.3. I am using a companion computer to send pitch and roll commands to the gimbal ( vehicle.gimbal.rotate() ) while the vehicle is in guided mode. The gimbal pitches down through 80 degrees of movement just fine, but when it gets to where the camera is pointed straight down towards the ground, the roll servo (not the pitch servo) starts twitching and runs to one of its limits, so that the camera is still pitched downwards but is now pointed off at an angle. As I rotate the drone back and forth about its roll axis the roll servo responds.

This makes me think that the autopilot is overriding my mavlink command to pitch the gimbal down without any roll or tilt (vehicle.gimbal.rotate(90,0,0)). I have made sure that MNT_STAB_ROLL, MNT_STAB_TILT and MNT_STAB_PAN are all set to 0. Attached is a screenshot of my camera setup with servo PWM settings.

Any advice is appreciated