Problem with line following robot

I wrote the code for a line following robot recently and it’s weird because the right wheel of the robot moves backwards and the left wheel moves forward when it’s supposed to go forward. However the robot moves right and left properly(the wheels move how it’s programmed to. I’ve used two infared receivers/transmitter modules. Please tell what’s wrong! Not sure if it is a problem with the way I’ve connected the motors. I’ve used the adafruit motor shield v1

int const RS = A0; // Right sensor connected to pin A0
int const LS= A3;  // Left sensor connected to pin A3

#include <AFMotor.h>
AF_DCMotor r_motor(3); // Right motor connected to port 3
AF_DCMotor l_motor(4); // Left motor connected to port 4

void setup(){
  Serial.begin(9600);
  pinMode(RS, INPUT); 
  pinMode(LS, INPUT);
  //Intitializing pin A0 and A3 as inputs
 }

void loop(){

  bool r_state = digitalRead(A0);
  bool l_state = digitalRead(A3);
  

      if((r_state == false) && (l_state == false)){
        Straight();
      }
       if((r_state == true) && (l_state == false)){
        Turn_Right();
      }
       if((l_state == true) && (r_state == false)){
        Turn_Left();
      }
       if(l_state && r_state  ){
        Stop();
      }
 
}

void Straight(){
    l_motor.setSpeed(200);
    r_motor.setSpeed(200);
    r_motor.run(FORWARD);
    l_motor.run(FORWARD);
  }
void Turn_Right(){
   
      r_motor.setSpeed(200);
      l_motor.setSpeed(200);
      r_motor.run(FORWARD);
      l_motor.run(BACKWARD); 
   }
void Turn_Left(){

    l_motor.setSpeed(200);  
    r_motor.setSpeed(200);
    l_motor.run(FORWARD);
    r_motor.run(BACKWARD);
}
void Stop(){
    l_motor.setSpeed(0);
    r_motor.setSpeed(0);
    r_motor.run(RELEASE);
    l_motor.run(RELEASE);
}

Please don't crosspost it wastes everyone's time and duplicates effort. The original thread is: http://forum.arduino.cc/index.php?topic=417528.0