diff --git a/Marlin/src/lcd/language/language_en.h b/Marlin/src/lcd/language/language_en.h
index 8e912da352c8fbc86a826d09fbb6688dd3369f33..feb24d3f6f6e4ead6c2eafd57e2b671e1257ab77 100644
--- a/Marlin/src/lcd/language/language_en.h
+++ b/Marlin/src/lcd/language/language_en.h
@@ -427,7 +427,7 @@ namespace Language_en {
   PROGMEM Language_Str MSG_PAUSE_PRINT                     = _UxGT("Pause Print");
   PROGMEM Language_Str MSG_RESUME_PRINT                    = _UxGT("Resume Print");
   PROGMEM Language_Str MSG_STOP_PRINT                      = _UxGT("Stop Print");
-  PROGMEM Language_Str MSG_OBJECT_CANCEL                   = _UxGT("Cancel Object");
+  PROGMEM Language_Str MSG_CANCEL_OBJECT                   = _UxGT("Cancel Object");
   PROGMEM Language_Str MSG_OUTAGE_RECOVERY                 = _UxGT("Outage Recovery");
   PROGMEM Language_Str MSG_MEDIA_MENU                      = _UxGT("Print from Media");
   PROGMEM Language_Str MSG_NO_MEDIA                        = _UxGT("No Media");
diff --git a/Marlin/src/lcd/menu/menu.cpp b/Marlin/src/lcd/menu/menu.cpp
index eac5b7b2d79783de6d8cda67634dcfd17331d21d..3c300843e0fce2cdd0e4f1ba30e387a862e706c9 100644
--- a/Marlin/src/lcd/menu/menu.cpp
+++ b/Marlin/src/lcd/menu/menu.cpp
@@ -25,7 +25,6 @@
 #if HAS_LCD_MENU
 
 #include "menu.h"
-#include "../ultralcd.h"
 #include "../../module/planner.h"
 #include "../../module/motion.h"
 #include "../../module/printcounter.h"
diff --git a/Marlin/src/lcd/menu/menu.h b/Marlin/src/lcd/menu/menu.h
index 175e8a8435ecc7508cbf12b6e45e45c600671d4e..3fe14f45fe9b4866f6175ada3426b5c8afe73479 100644
--- a/Marlin/src/lcd/menu/menu.h
+++ b/Marlin/src/lcd/menu/menu.h
@@ -365,12 +365,6 @@ class MenuItem_bool {
   ++_thisItemNr;                                          \
 } while(0)
 
-#define MENU_ITEM_ADDON_START(X) do{ \
-  if (ui.should_draw() && _menuLineNr == _thisItemNr - 1) { \
-    SETCURSOR(X, _lcdLineNr)
-
-#define MENU_ITEM_ADDON_END() } }while(0)
-
 #define STATIC_ITEM(LABEL, V...) STATIC_ITEM_P(GET_TEXT(LABEL), ##V)
 
 #define MENU_ITEM_P(TYPE, PLABEL, V...)       _MENU_ITEM_P(TYPE, false, PLABEL, ##V)
diff --git a/Marlin/src/lcd/menu/menu_addon.h b/Marlin/src/lcd/menu/menu_addon.h
new file mode 100644
index 0000000000000000000000000000000000000000..e7553293a143ebda2e32409a44dfaa2f402febb8
--- /dev/null
+++ b/Marlin/src/lcd/menu/menu_addon.h
@@ -0,0 +1,33 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+#include "../lcdprint.h"
+#if HAS_GRAPHICAL_LCD
+  #include "../dogm/ultralcd_DOGM.h"
+#endif
+
+#define MENU_ITEM_ADDON_START(X) do{ \
+  if (ui.should_draw() && _menuLineNr == _thisItemNr - 1) { \
+    SETCURSOR(X, _lcdLineNr)
+
+#define MENU_ITEM_ADDON_END() } }while(0)
diff --git a/Marlin/src/lcd/menu/menu_advanced.cpp b/Marlin/src/lcd/menu/menu_advanced.cpp
index d5e8524e55b18dd7eee8fd91b2437cf18c819abd..2f4e37d12504af8476244d915933fc89a1f41ca7 100644
--- a/Marlin/src/lcd/menu/menu_advanced.cpp
+++ b/Marlin/src/lcd/menu/menu_advanced.cpp
@@ -654,7 +654,7 @@ void menu_advanced_settings() {
   #endif
 
   #if ENABLED(CANCEL_OBJECTS)
-    SUBMENU(MSG_CANCELOBJECTS, [](){ editable.int8 = -1; goto_screen(menu_cancelobject); });
+    SUBMENU(MSG_CANCEL_OBJECT, [](){ editable.int8 = -1; ui.goto_screen(menu_cancelobject); });
   #endif
 
   #if ENABLED(DAC_STEPPER_CURRENT)
diff --git a/Marlin/src/lcd/menu/menu_cancelobject.cpp b/Marlin/src/lcd/menu/menu_cancelobject.cpp
index 215854b708dc49e585bc035dbda18c797ba9de87..09b1bc55e5f2fd2d4fb4e48ffa947aefc93dc0dc 100644
--- a/Marlin/src/lcd/menu/menu_cancelobject.cpp
+++ b/Marlin/src/lcd/menu/menu_cancelobject.cpp
@@ -29,6 +29,7 @@
 #if HAS_LCD_MENU && ENABLED(CANCEL_OBJECTS)
 
 #include "menu.h"
+#include "menu_addon.h"
 
 #include "../../feature/cancel_object.h"
 
@@ -39,15 +40,15 @@
 //
 void menu_cancelobject() {
   START_MENU();
-  MENU_BACK(MSG_MAIN);
+  BACK_ITEM(MSG_MAIN);
 
-  GCODES_ITEM(MSG_OBJECT_CANCEL, PSTR("M486 C"));
+  GCODES_ITEM(MSG_CANCEL_OBJECT, PSTR("M486 C"));
 
   // Draw cancelable items in a loop
   for (int8_t i = 0; i < cancelable.object_count; i++) {
     if (!TEST(cancelable.canceled, i)) {
       editable.int8 = i;
-      ACTION_ITEM(MSG_OBJECT_CANCEL, [](){
+      ACTION_ITEM(MSG_CANCEL_OBJECT, [](){
         cancelable.cancel_object(editable.int8);
         ui.quick_feedback();
       });
@@ -58,7 +59,7 @@ void menu_cancelobject() {
   }
 
   /*
-  MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_OBJECT_CANCEL, &editable.int8, -1, 32, [](){
+  MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_CANCEL_OBJECT, &editable.int8, -1, 32, [](){
     if (editable.int8 > -1) {
       cancelable.cancel_object(editable.int8);
       ui.quick_feedback();
diff --git a/Marlin/src/lcd/menu/menu_mixer.cpp b/Marlin/src/lcd/menu/menu_mixer.cpp
index 430d2886fc4b5700d1426e1c1a4d22f034ea2a83..52348980df440b39fc9591c5ec161d89b26e6a5e 100644
--- a/Marlin/src/lcd/menu/menu_mixer.cpp
+++ b/Marlin/src/lcd/menu/menu_mixer.cpp
@@ -29,11 +29,9 @@
 #if HAS_LCD_MENU && ENABLED(MIXING_EXTRUDER)
 
 #include "menu.h"
-#include "../../feature/mixing.h"
+#include "menu_addon.h"
 
-#include "../dogm/ultralcd_DOGM.h"
-#include "../ultralcd.h"
-#include "../lcdprint.h"
+#include "../../feature/mixing.h"
 
 #define CHANNEL_MIX_EDITING !DUAL_MIXING_EXTRUDER
 
diff --git a/Marlin/src/lcd/menu/menu_motion.cpp b/Marlin/src/lcd/menu/menu_motion.cpp
index d37d304bb499d95bdd9ebf1ec909c10849a462f5..4f44a1143ea14bfffb2ad434ec0a76cdb9603233 100644
--- a/Marlin/src/lcd/menu/menu_motion.cpp
+++ b/Marlin/src/lcd/menu/menu_motion.cpp
@@ -29,12 +29,7 @@
 #if HAS_LCD_MENU
 
 #include "menu.h"
-
-#include "../lcdprint.h"
-
-#if HAS_GRAPHICAL_LCD
-  #include "../dogm/ultralcd_DOGM.h"
-#endif
+#include "menu_addon.h"
 
 #include "../../module/motion.h"