Sensores infrarrojos, problema en el lcd

Buenas, tengo un problema en mi código, se trata sobre que tiene que contar la cantidad de personas que pasan por el sensor(tiene puerta de entrada y salida) pero mi único error es en el lcd cuando cuenta 9 10 11 12 13 y después disminuye cuando la personas salen 13 12 11 10 aquí viene el error el 0 se me quede pegado y sale 90 80 70 60 50 40 30 20 10 00 , quisiera que me ayuden donde puedo modificar para poder eliminar ese 0 o como utilizaría el clear. Gracias.

-aquí mi código
#include <LiquidCrystal.h>
#define s1 2
#define s2 3
#define s3 4
#define s4 5

LiquidCrystal lcd(13, 12, 11, 10, 9, 8);
int coni=0;
int cona=0;

void setup()

{ Serial.begin(9600);
lcd.begin(16,2);
lcd.print(" Bienvenidos");
lcd.setCursor(0,1);
lcd.print(" a Plaza vea");
delay(1000);
lcd.clear();

pinMode(s1,INPUT);
pinMode(s2,INPUT);
pinMode(s3,INPUT);
pinMode(s4,INPUT);
}

void loop()
{
int ds1 = digitalRead(s1);
int ds2 = digitalRead(s2);
int ds3 = digitalRead(s3);
int ds4 = digitalRead(s4);

lcd.setCursor(0,0);
lcd.print("Menores:");
lcd.setCursor(0,1);
lcd.print("Adultos:");
lcd.setCursor(9,0);
lcd.print(coni);
lcd.setCursor(9,1);
lcd.print(cona);
delay(100);

if(digitalRead(s2)==HIGH)
if(digitalRead(s1)==HIGH)
{ cona++;
delay(500);
}

if(digitalRead(s1)==HIGH)

{ coni++;
delay(500);
}

if(digitalRead(s4)==HIGH)
if(digitalRead(s3)==HIGH)
{ cona--;
delay(500);
}
if(digitalRead(s3)==HIGH)
{ coni--;
delay(500);
}

}

Hola fuerza siempre dos cifras para tapar las que había debajo.
Sencillamente, si coni tiene una cifra, imprime antes del valor un espacio o un cero:
if(coni<10) lcd.print(0);
lcd.print(coni);