Vex Transmitter problem

I have got one heck of a strange problem with my Vex transmitter. I programmed a holonomic drive vex robot to use one joystick (channels 1 and 2) to drive it, and for some reason, it switches channel 2 with channel 3 and vice versa. In other words, you have to use the left joystick for moving forward when you should be using channel 2.
I have another transmitter at my house that came with another kit, and when I switched the crystals and used the other transmitter, channel 2 worked just as it should. I went through the first transmitter and set all the configurations to match those on the second, but it still doesn’t seem to work. Any help?

Without seeing your code I’ll have to take a SWAG. It sounds like the transmitter is in 23 mode. Try switching it to 12 mode.

Did you plot that on a PDOOMA graph?

I tested that just now and instead of replacing 2 for 3, it caused channel 1 to move all 4 motors.
Here is the code:

#include "UserAPI.h"

int motor1;
int motor2;
int motor3;
int motor4;
int ch1;
int ch2;

void main ( void )
    while ( 1 )
        ch1 = GetRxInput ( 1 , 1 ); //get input from channel 1
        ch2 = GetRxInput ( 1 , 2 ); //get input from channel 2
        motor1 = 255-ch2; //set motor1 opposite from motor2
        motor2 = ch2;
        motor3 = 255-ch1; //set motor3 opposite from motor4
        motor4 = ch1;
        SetPWM ( 1 , motor1 ); 
        SetPWM ( 2 , motor2 );
        SetPWM ( 3 , motor3 );
        SetPWM ( 4 , motor4 );

It works just fine with the second transmitter and the configurations are the same on both transmitters.