diff --git a/Firmware/messages.c b/Firmware/messages.c
index d55027b3..07ca8883 100644
--- a/Firmware/messages.c
+++ b/Firmware/messages.c
@@ -120,6 +120,7 @@ const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY[] PROGMEM_I1 = ISTR("FlashAir");
 const char MSG_SORT[] PROGMEM_I1 = ISTR("Sort"); ////
 const char MSG_SORT_TIME[] PROGMEM_I1 = ISTR("Time"); ////
 const char MSG_SORT_ALPHA[] PROGMEM_I1 = ISTR("Alphabet"); ////
+const char MSG_RPI_PORT[] PROGMEM_I1 = ISTR("RPi port"); ////
 
 //not internationalized messages
 const char MSG_SD_WORKDIR_FAIL[] PROGMEM_N1 = "workDir open failed"; ////
diff --git a/Firmware/messages.h b/Firmware/messages.h
index ed8d5d54..3bcfc288 100644
--- a/Firmware/messages.h
+++ b/Firmware/messages.h
@@ -120,6 +120,7 @@ extern const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY[];
 extern const char MSG_SORT[];
 extern const char MSG_SORT_TIME[];
 extern const char MSG_SORT_ALPHA[];
+extern const char MSG_RPI_PORT[];
 
 //not internationalized messages
 extern const char MSG_BROWNOUT_RESET[];
diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp
index 95290d8b..ad45cf75 100755
--- a/Firmware/ultralcd.cpp
+++ b/Firmware/ultralcd.cpp
@@ -5593,10 +5593,7 @@ static void lcd_settings_menu()
 	  MENU_ITEM_FUNCTION_P(_i("Temp. cal.   [on]"), lcd_temp_calibration_set);////MSG_TEMP_CALIBRATION_ON c=20 r=1
 
 #ifdef HAS_SECOND_SERIAL_PORT
-	if (selectedSerialPort == 0)
-		MENU_ITEM_FUNCTION_P(_i("RPi port    [off]"), lcd_second_serial_set);////MSG_SECOND_SERIAL_OFF c=17 r=1
-	else
-		MENU_ITEM_FUNCTION_P(_i("RPi port     [on]"), lcd_second_serial_set);////MSG_SECOND_SERIAL_ON c=17 r=1
+    MENU_ITEM_TOGGLE_P(_T(MSG_RPI_PORT), (selectedSerialPort == 0) ? _T(MSG_OFF) : _T(MSG_ON), lcd_second_serial_set);
 #endif //HAS_SECOND_SERIAL
 
 	if (!isPrintPaused && !homing_flag)
diff --git a/lang/lang_en.txt b/lang/lang_en.txt
index d11fc47d..1e17b869 100755
--- a/lang/lang_en.txt
+++ b/lang/lang_en.txt
@@ -640,11 +640,8 @@
 #MSG_BED_CORRECTION_RIGHT c=14 r=1
 "Right side[um]"
 
-#MSG_SECOND_SERIAL_ON c=17 r=1
-"RPi port     [on]"
-
-#MSG_SECOND_SERIAL_OFF c=17 r=1
-"RPi port    [off]"
+#MSG_RPI_PORT
+"RPi port"
 
 #MSG_WIZARD_RERUN c=20 r=7
 "Running Wizard will delete current calibration results and start from the beginning. Continue?"
diff --git a/lang/lang_en_cz.txt b/lang/lang_en_cz.txt
index e601fe62..1966166e 100755
--- a/lang/lang_en_cz.txt
+++ b/lang/lang_en_cz.txt
@@ -854,13 +854,9 @@
 "Right side[um]"
 "Vpravo [um]"
 
-#MSG_SECOND_SERIAL_ON c=17 r=1
-"RPi port     [on]"
-"RPi port    [zap]"
-
-#MSG_SECOND_SERIAL_OFF c=17 r=1
-"RPi port    [off]"
-"RPi port    [vyp]"
+#MSG_RPI_PORT
+"RPi port"
+"\x00"
 
 #MSG_WIZARD_RERUN c=20 r=7
 "Running Wizard will delete current calibration results and start from the beginning. Continue?"
diff --git a/lang/lang_en_de.txt b/lang/lang_en_de.txt
index 5a0ae671..e53195ec 100755
--- a/lang/lang_en_de.txt
+++ b/lang/lang_en_de.txt
@@ -854,13 +854,9 @@
 "Right side[um]"
 "Rechts [um]"
 
-#MSG_SECOND_SERIAL_ON c=17 r=1
-"RPi port     [on]"
-"RPi Port     [an]"
-
-#MSG_SECOND_SERIAL_OFF c=17 r=1
-"RPi port    [off]"
-"RPi Port    [aus]"
+#MSG_RPI_PORT
+"RPi port"
+"\x00"
 
 #MSG_WIZARD_RERUN c=20 r=7
 "Running Wizard will delete current calibration results and start from the beginning. Continue?"
diff --git a/lang/lang_en_es.txt b/lang/lang_en_es.txt
index cb9bea16..35b7e5df 100755
--- a/lang/lang_en_es.txt
+++ b/lang/lang_en_es.txt
@@ -854,13 +854,9 @@
 "Right side[um]"
 "Derecha [um]"
 
-#MSG_SECOND_SERIAL_ON c=17 r=1
-"RPi port     [on]"
-"Puerto RPi  [act]"
-
-#MSG_SECOND_SERIAL_OFF c=17 r=1
-"RPi port    [off]"
-"Puerto RPi  [ina]"
+#MSG_RPI_PORT
+"RPi port"
+"Puerto RPi"
 
 #MSG_WIZARD_RERUN c=20 r=7
 "Running Wizard will delete current calibration results and start from the beginning. Continue?"
diff --git a/lang/lang_en_fr.txt b/lang/lang_en_fr.txt
index d4a21e7e..619456ef 100755
--- a/lang/lang_en_fr.txt
+++ b/lang/lang_en_fr.txt
@@ -854,13 +854,9 @@
 "Right side[um]"
 "Droite [um]"
 
-#MSG_SECOND_SERIAL_ON c=17 r=1
-"RPi port     [on]"
-"Port RPi [on]"
-
-#MSG_SECOND_SERIAL_OFF c=17 r=1
-"RPi port    [off]"
-"Port RPi [off]"
+#MSG_RPI_PORT
+"RPi port"
+"Port RPi"
 
 #MSG_WIZARD_RERUN c=20 r=7
 "Running Wizard will delete current calibration results and start from the beginning. Continue?"
diff --git a/lang/lang_en_it.txt b/lang/lang_en_it.txt
index 8ee3e2dd..20dba996 100755
--- a/lang/lang_en_it.txt
+++ b/lang/lang_en_it.txt
@@ -854,13 +854,9 @@
 "Right side[um]"
 "Destra [um]"
 
-#MSG_SECOND_SERIAL_ON c=17 r=1
-"RPi port     [on]"
-"Porta RPi    [on]"
-
-#MSG_SECOND_SERIAL_OFF c=17 r=1
-"RPi port    [off]"
-"Porta RPi   [off]"
+#MSG_RPI_PORT
+"RPi port"
+"Porta RPi"
 
 #MSG_WIZARD_RERUN c=20 r=7
 "Running Wizard will delete current calibration results and start from the beginning. Continue?"
diff --git a/lang/lang_en_pl.txt b/lang/lang_en_pl.txt
index 797dbb93..9906f8f9 100755
--- a/lang/lang_en_pl.txt
+++ b/lang/lang_en_pl.txt
@@ -854,13 +854,9 @@
 "Right side[um]"
 "Prawo [um]"
 
-#MSG_SECOND_SERIAL_ON c=17 r=1
-"RPi port     [on]"
-"Port RPi     [wl]"
-
-#MSG_SECOND_SERIAL_OFF c=17 r=1
-"RPi port    [off]"
-"Port RPi    [wyl]"
+#MSG_RPI_PORT
+"RPi port"
+"Port RPi"
 
 #MSG_WIZARD_RERUN c=20 r=7
 "Running Wizard will delete current calibration results and start from the beginning. Continue?"