   checkAndSoundAlarm(now.hour(), now.minute());
   soundAlarmAtThisPointIfNeeded();
   
-  if(showLCD){
+  if(showLCD || currentState == ALARM){
     display.clearDisplay();
 
     writeDateTimeToDisplayBuffer(now, blinkOnForSetting);

  timeLastPressedLCDOffButton = currentMillis;
  
  Serial.println("LCD Off Button Press");

  showLCD = !showLCD;
  
  if(!showLCD){
    display.clearDisplay();
    display.display();
  }
  
}


  
}

void turnOffLCD(){
  if(!showLCD){
    display.clearDisplay();
    display.display();
  }
}

void stopAlarm(){
  currentState = NORMAL;
  turnMotor(false, false);
  noTone(SPEAKER_PIN);
  toneNow = 0;
  
  turnOffLCD();
  
}



void  processLCDOffButtonPressed(){
  unsigned long currentMillis = millis();
  
  if((currentMillis - timeLastPressedLCDOffButton) < MIN_TIME_BETWEEN_BUTTON_PRESSES){
    return;
