Drive drifting

Hello all, we have had a problem with our robot and its drive, currently we have it on a arcade drive on the joystick like this :

       LeftMotor.spin(directionType::fwd, (Controller1.Axis2.value() + Controller1.Axis1.value())*4, velocityUnits::pct); //(Axis3+Axis4)/2;
    RightMotor.spin(directionType::fwd, (Controller1.Axis2.value() - Controller1.Axis1.value())*4, velocityUnits::pct);//(Axis3-Axis4)/2;

Now with this sometimes my robot will tend to drive forward even when the joystick is in its home position or when the value should be zero, is there anyway to eliminate this drift? I am using c++ and wounder if anyone else has came across this.

this is called a deadzone program, it doesnt activate the drive until the stick is at a certain value


while(1==1)
{
   if(stick>15)   
          {do the thing in your first program}
    else ()
          { dont do anything}
}

edit: or you could zero your controller sticks by going into the settings on the controller and calibrating the joysticks.