diff --git a/Marlin/src/feature/tmc_util.cpp b/Marlin/src/feature/tmc_util.cpp
index 41bbd049bce5dd65fe025b1ddd6e597ca8eb6bc9..1b14172ca7948307b183f96db015a07380387f9b 100644
--- a/Marlin/src/feature/tmc_util.cpp
+++ b/Marlin/src/feature/tmc_util.cpp
@@ -138,7 +138,7 @@
 
     // Report if a warning was triggered
     if (data.is_otpw && st.otpw_count == 0) {
-      char timestamp[10];
+      char timestamp[14];
       duration_t elapsed = print_job_timer.duration();
       const bool has_days = (elapsed.value > 60*60*24L);
       (void)elapsed.toDigital(timestamp, has_days);
diff --git a/Marlin/src/sd/cardreader.cpp b/Marlin/src/sd/cardreader.cpp
index 9ba018a2cf8f6b37d637ee1769c9ec34dbb587ae..2d77339533c90adf049dfe854e82c50050cb041c 100644
--- a/Marlin/src/sd/cardreader.cpp
+++ b/Marlin/src/sd/cardreader.cpp
@@ -544,8 +544,8 @@ void CardReader::checkautostart() {
       && !jobRecoverFileExists() // Don't run auto#.g when a resume file exists
     #endif
   ) {
-    char autoname[10];
-    sprintf_P(autoname, PSTR("auto%i.g"), int(autostart_index));
+    char autoname[8];
+    sprintf_P(autoname, PSTR("auto%c.g"), autostart_index + '0');
     dir_t p;
     root.rewind();
     while (root.readDir(&p, NULL) > 0) {