diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h
index ac98b1b322b..c9a900062cb 100644
--- a/Marlin/Configuration.h
+++ b/Marlin/Configuration.h
@@ -758,6 +758,9 @@
 //#define COREZY
 //#define MARKFORGED_XY  // MarkForged. See https://reprap.org/forum/read.php?152,504042
 
+// Enable for a belt style printer with endless "Z" motion
+//#define BELTPRINTER
+
 //===========================================================================
 //============================== Endstop Settings ===========================
 //===========================================================================
diff --git a/Marlin/src/feature/pause.cpp b/Marlin/src/feature/pause.cpp
index 79a8af66e2a..9a402141e65 100644
--- a/Marlin/src/feature/pause.cpp
+++ b/Marlin/src/feature/pause.cpp
@@ -213,6 +213,8 @@ bool load_filament(const_float_t slow_load_length/*=0*/, const_float_t fast_load
     set_duplication_enabled(false, DXC_ext);
   #endif
 
+  TERN_(BELTPRINTER, do_blocking_move_to_xy(0.00, 50.00));
+
   // Slow Load filament
   if (slow_load_length) unscaled_e_move(slow_load_length, FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE);
 
@@ -606,7 +608,7 @@ void resume_print(const_float_t slow_load_length/*=0*/, const_float_t fast_load_
   ui.pause_show_message(PAUSE_MESSAGE_RESUME);
 
   // Check Temperature before moving hotend
-  ensure_safe_temperature();
+  ensure_safe_temperature(DISABLED(BELTPRINTER));
 
   // Retract to prevent oozing
   unscaled_e_move(-(PAUSE_PARK_RETRACT_LENGTH), feedRate_t(PAUSE_PARK_RETRACT_FEEDRATE));
diff --git a/Marlin/src/feature/powerloss.cpp b/Marlin/src/feature/powerloss.cpp
index a512022320d..3409e6714d9 100644
--- a/Marlin/src/feature/powerloss.cpp
+++ b/Marlin/src/feature/powerloss.cpp
@@ -386,7 +386,7 @@ void PrintJobRecovery::resume() {
           ), dtostrf(z_now, 1, 3, str_1));
     gcode.process_subcommands_now(cmd);
 
-  #else
+  #elif DISABLED(BELTPRINTER)
 
     #if ENABLED(POWER_LOSS_RECOVER_ZHOME) && defined(POWER_LOSS_ZHOME_POS)
       #define HOMING_Z_DOWN 1
diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h
index a146b95ba61..d6f911cd4c7 100644
--- a/Marlin/src/inc/SanityCheck.h
+++ b/Marlin/src/inc/SanityCheck.h
@@ -1469,6 +1469,13 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
   #error "CLASSIC_JERK is required for DELTA and SCARA."
 #endif
 
+/**
+ * Some things should not be used on Belt Printers
+ */
+#if BOTH(BELTPRINTER, HAS_LEVELING)
+  #error "Bed Leveling is not compatible with BELTPRINTER."
+#endif
+
 /**
  * Probes
  */