     return;
   }
 
+  copyToDisplayBuffer(partBuffer, message);
+
   nextPartScheduled = true;
   triggeredElapsed = 0;
 
   clearLine(1);
   lcd.setCursor(0, 1);
-  lcd.print(message);
+  lcd.print(partBuffer);
+}
+
+void copyToDisplayBuffer(char* displayBuffer, char* message) {
+  displayBuffer[0] = (char)0;
+
+  strncpy(displayBuffer, message, MAX_ROW_LENGTH);
+  byte messageLength = strlen(message);
+  if (messageLength < MAX_ROW_LENGTH) {
+    displayBuffer[messageLength] = (char)0;
+  } else {
+    displayBuffer[MAX_ROW_LENGTH] = (char)0;
+  }
 }
 
 void handleConfigurationStart() {

  Serial.println(strings);
#endif

  strncpy(songs[index], strings, MAX_ROW_LENGTH);
  byte lengthOfName = strlen(strings);
  if (lengthOfName < MAX_ROW_LENGTH) {
    songs[index][lengthOfName] = (char)0;
  } else {
    songs[index][MAX_ROW_LENGTH] = (char)0;
  }
}

byte getConfigurationType(char* messageOriginal) {

char sysexBuffer[SYSEX_BUFFER_SIZE];

#define MAX_ROW_LENGTH 16

char partBuffer[MAX_ROW_LENGTH + 1];

// LEDs
const byte ledPin = 13;
