Need Help!

I can’t figure out what I’m doing wrong. I am trying to use two UltraSonic sensors to move at robot forward, turn and stop with both sensors. I have the 1st sensor (Right Side) stop the drive motors when an object is sensed within 20 inches of the sensor. The other sensor (Front Right Corner) is supposed to turn left when the sensor senses an object closer than 15 inches and turn right when an object is sensed farther than 23 inches. The problem is that the robot movement is in a way, stuttered. When it comes to turning right, the constant movement of the motors collides with the turn right code causing it not to work. How can I fix this?

Code:

#pragma config(Sensor, dgtl5, sonarSensor1, sensorSONAR_inch)
#pragma config(Sensor, dgtl11, sonarSensor2, sensorSONAR_inch)
#pragma config(Motor, port2, leftDrive, tmotorVex393_MC29, openLoop, driveLeft)
#pragma config(Motor, port3, rightDrive, tmotorVex393_MC29, openLoop, driveRight)
//!!Code automatically generated by ‘ROBOTC’ configuration wizard !!//

task main()
{

wait1Msec(2000); // Robot waits for 2000 milliseconds before executing program
while(1) {

// First Sonar Sensor (Right Side)

if(SensorValue(sonarSensor1) > 20 || SensorValue(sonarSensor1) == -1) // Loop while robot’s Ultrasonic sensor is further than 20 inches away from an object
// || (or) it is ‘-1’. (-1 is the value returned when nothing is in it’s visable range)
{
motor[rightDrive] = 63; // Motor on port 3 is run at half (63) power forward
motor[leftDrive] = 63; // Motor on port 2 is run at half (63) power forward
}

// Second Sonar Sensor (Front Right Corner)

if(SensorValue(sonarSensor2) > 23 || SensorValue(sonarSensor2) == -1) // Loop while robot’s Ultrasonic sensor is further than 23 inches away from an object
// || (or) it is ‘-1’. (-1 is the value returned when nothing is in it’s visable range)
{
motor[rightDrive] = -63; // Motor on port 3 is run at half (-63) power backward to turn right
motor[leftDrive] = 63; // Motor on port 2 is run at half (63) power forward to turn right

if (SensorValue(sonarSensor2) < 15 || SensorValue(sonarSensor2) == -1)
{
motor[rightDrive] = 63; // Motor on port 3 is run at half (63) power forward to turn left
motor[leftDrive] = -63; // Motor on port 2 is run at half (-63) power backward to turn left
}
}

// First Sonar Sensor (Right Side)

else (SensorValue(sonarSensor1) == -1);
{
motor[rightDrive] = 0;
motor[leftDrive] = 0;

}
}
}

I thought I had answered this a few weeks ago, if you still need help then post again.