diff --git a/Marlin/cardreader.h b/Marlin/cardreader.h
index c9bea6036b..75674a8e59 100644
--- a/Marlin/cardreader.h
+++ b/Marlin/cardreader.h
@@ -120,10 +120,10 @@ private:
           char **sortshort, **sortnames;
         #else
           char sortshort[SDSORT_LIMIT][FILENAME_LENGTH];
-          char sortnames[SDSORT_LIMIT][FILENAME_LENGTH];
+          char sortnames[SDSORT_LIMIT][LONG_FILENAME_LENGTH];
         #endif
       #elif DISABLED(SDSORT_USES_STACK)
-        char sortnames[SDSORT_LIMIT][FILENAME_LENGTH];
+        char sortnames[SDSORT_LIMIT][LONG_FILENAME_LENGTH];
       #endif
 
       // Folder sorting uses an isDir array when caching items.