diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp
index 830709595c1b303eae55c4630818b59277cc7bbb..45907f35573792038bc3cf389ae6e793f353fbeb 100644
--- a/Marlin/Marlin_main.cpp
+++ b/Marlin/Marlin_main.cpp
@@ -3797,7 +3797,7 @@ inline void gcode_M17() {
*/
inline void gcode_M26() {
if (card.cardOK && code_seen('S'))
- card.setIndex(code_value_short());
+ card.setIndex(code_value_long());
}
/**
@@ -3869,7 +3869,7 @@ inline void gcode_M31() {
card.openFile(namestartpos, true, call_procedure);
if (code_seen('S') && seen_pointer < namestartpos) // "S" (must occur _before_ the filename!)
- card.setIndex(code_value_short());
+ card.setIndex(code_value_long());
card.startFileprint();