diff --git a/Marlin/SanityCheck.h b/Marlin/SanityCheck.h
index a757f8a292f64c6a097e8c8a185ffa6b7c20b290..91c4c7bd0a992bbfd5cdb1dc203993657e012948 100644
--- a/Marlin/SanityCheck.h
+++ b/Marlin/SanityCheck.h
@@ -233,6 +233,17 @@
 
 #if PROBE_SELECTED
 
+  /**
+   * NUM_SERVOS is required for a Z servo probe
+   */
+  #if HAS_Z_SERVO_ENDSTOP
+    #ifndef NUM_SERVOS
+      #error "You must set NUM_SERVOS for a Z servo probe (Z_ENDSTOP_SERVO_NR)."
+    #elif Z_ENDSTOP_SERVO_NR >= NUM_SERVOS
+      #error "Z_ENDSTOP_SERVO_NR must be less than NUM_SERVOS."
+    #endif
+  #endif
+
   /**
    * A probe needs a pin
    */