Lora received packet print in serial monitor but not on Lcd

Here is my code , only the while part is changed.

If I understand correct then one character will be printed in the serial monitor and then on the LCD then the next char goes toe the serial mon and also to the LCD .. repeat until the packetSize is reached.

#include <SPI.h>
#include <LoRa.h>
#include <LiquidCrystal.h> //Arduino standard LCD Library

//
//                RS   E  D4  D5  D6  D7
LiquidCrystal lcd(14, 15, 16, 17, 18, 19);

char incoming ;

void setup() {
  Serial.begin(9600);
  lcd.begin(16, 2);

  lcd.setCursor(0, 0);
  lcd.print("Lora Receiver");//This works
  delay(500);
  lcd.clear();

  lcd.setCursor(0, 0);
  while (!Serial);

  Serial.println("LoRa Receiver");

  if (!LoRa.begin(433E6)) {
    Serial.println("Starting LoRa failed!");
    while (1);
  }
}

void loop()
{
  // try to parse packet
  int packetSize = LoRa.parsePacket();
  if (packetSize) {
    // received a packet
    Serial.print("Received packet '");

    // read packet
    while (LoRa.available())

    {
      incoming = ((char)LoRa.read());
      //Serial.print((char) LoRa.read());


      Serial.print(incoming);
      
      lcd.print(incoming);


    }


    // print RSSI of packet
    Serial.print("' with RSSI ");
    Serial.println(LoRa.packetRssi());

    lcd.setCursor(0, 1);
    lcd.print("     ");//Clear previous digits

    lcd.setCursor(0, 1);
    lcd.print(LoRa.packetRssi());//This works on LCD
    lcd.setCursor(0, 0);
  }
}