Nueva duda con ultrasonico

Hola de nuevo compañeros del foro, vengo con una nueva duda a la que no le encuentro solucion

Basicamente lo que quiero hacer es que si un sensor no detecta nada, pase al siguiente y si no hace nada al siguiente asi, y ya que termine con los 4 sensores regrese al primero, hasta ahi todo bien, ya hice funcionar un sensor como exprese al principio del tema, ahora el problema es que, no puedo hacer que funcionen 2, pareciera si como el primer sensor funcionara igual que el segundo, aunque estan en direcciones opuestas y uno si detecta y el otro no., he revisado el codigo pero no le veo problema alguno, espero puedan asesorarme y gracias.

#include <Ultrasonic.h>
Ultrasonic ultra1(9,8); // (Trig,Echo)
Ultrasonic ultra2(7,6); // (Trig,Echo)
int led1 = 14; // A0 - Led 1 sensor1
int led2 = 15; // A1 - Led 2 sensor1
int led3 = 16; // A1 - Led 3 sensor2
int led4 = 17; // A1 - Led 4 sensor2
int dist1;
int dist2;

void setup() 
{
  pinMode(led1, OUTPUT); 
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT); 
  pinMode(led4, OUTPUT);  
}

void loop()
{
  
  dist1 = ultra1.Ranging(CM); // mide distancia sensor 1
  dist2 = ultra2.Ranging(CM); // mide distancia sensor 2

  
  if (dist1 < 50) // Si distancia menor 50cm enciende led 1 y apaga 2, pero si es mayor enciende 2 apaga 1
  {
    digitalWrite(led1, HIGH);
    digitalWrite(led2, LOW);  
  }
  else
  {
    digitalWrite(led2, HIGH);
    digitalWrite(led1, LOW);  
  }
  
      if (dist2 < 50) // Similar a sensor 1
  {
    digitalWrite(led3, HIGH);
    digitalWrite(led4, LOW);  
  }
  else
  {
    digitalWrite(led4, HIGH);
    digitalWrite(led3, LOW);  
  }
  
  }