diff --git a/Marlin/src/Marlin.cpp b/Marlin/src/Marlin.cpp
index 01aa52b1794548d932ad8209746ae9869c38a581..e20b55ad6fc67b49913725dc14a07ac12b8dfa33 100644
--- a/Marlin/src/Marlin.cpp
+++ b/Marlin/src/Marlin.cpp
@@ -355,8 +355,6 @@ bool pin_is_protected(const int8_t pin) {
   return false;
 }
 
-#include "gcode/lcd/M117.h"
-
 #include "gcode/host/M118.h"
 #include "gcode/host/M119.h"
 
diff --git a/Marlin/src/gcode/gcode.cpp b/Marlin/src/gcode/gcode.cpp
index d0f8ad4b4e16510ba154a863e50679379e57fdd8..b2145675a1596c0e189784be14f35673edc63fd5 100644
--- a/Marlin/src/gcode/gcode.cpp
+++ b/Marlin/src/gcode/gcode.cpp
@@ -116,7 +116,6 @@ void GcodeSuite::dwell(millis_t time) {
 //
 // Placeholders for non-migrated codes
 //
-extern void gcode_M117();
 extern void gcode_M118();
 extern void gcode_M119();
 extern void gcode_M120();
@@ -498,9 +497,7 @@ void GcodeSuite::process_next_command() {
 
       case 115: M115(); break;    // M115: Report capabilities
 
-      case 117: // M117: Set LCD message text, if possible
-        gcode_M117();
-        break;
+      case 117: M117(); break;    // M117: Set LCD message text, if possible
       case 118: // M118: Display a message in the host console
         gcode_M118();
         break;
diff --git a/Marlin/src/gcode/lcd/M117.h b/Marlin/src/gcode/lcd/M117.cpp
similarity index 92%
rename from Marlin/src/gcode/lcd/M117.h
rename to Marlin/src/gcode/lcd/M117.cpp
index ea0ed877a0044a20c336601685d3b044926e29ed..0f508d8eb99bd0cd5379b9005970855b671f6aef 100644
--- a/Marlin/src/gcode/lcd/M117.h
+++ b/Marlin/src/gcode/lcd/M117.cpp
@@ -20,10 +20,13 @@
  *
  */
 
+#include "../gcode.h"
+#include "../../lcd/ultralcd.h"
+
 /**
  * M117: Set LCD Status Message
  */
-void gcode_M117() {
+void GcodeSuite::M117() {
 
   lcd_setstatus(parser.string_arg);