diff --git a/mingw-w64-crt/stdio/ucrt__snscanf.c b/mingw-w64-crt/stdio/ucrt__snscanf.c
index 10ce566..bd9dfdd 100644
--- a/mingw-w64-crt/stdio/ucrt__snscanf.c
+++ b/mingw-w64-crt/stdio/ucrt__snscanf.c
@@ -14,7 +14,7 @@
   int ret;
   va_list _ArgList;
   va_start(_ArgList, _Format);
-  ret = __stdio_common_vsscanf(0, _Src, _MaxCount, _Format, NULL, _ArgList);
+  ret = __stdio_common_vsscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, _Src, _MaxCount, _Format, NULL, _ArgList);
   va_end(_ArgList);
   return ret;
 }
diff --git a/mingw-w64-crt/stdio/ucrt_fscanf.c b/mingw-w64-crt/stdio/ucrt_fscanf.c
index f42e5a5..32149fc 100644
--- a/mingw-w64-crt/stdio/ucrt_fscanf.c
+++ b/mingw-w64-crt/stdio/ucrt_fscanf.c
@@ -12,7 +12,7 @@
   __builtin_va_list __ap;
   int __ret;
   __builtin_va_start(__ap, _Format);
-  __ret = __stdio_common_vfscanf(0, _File, _Format, NULL, __ap);
+  __ret = __stdio_common_vfscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, _File, _Format, NULL, __ap);
   __builtin_va_end(__ap);
   return __ret;
 }
diff --git a/mingw-w64-crt/stdio/ucrt_scanf.c b/mingw-w64-crt/stdio/ucrt_scanf.c
index 1aaff2f..9bd086a 100644
--- a/mingw-w64-crt/stdio/ucrt_scanf.c
+++ b/mingw-w64-crt/stdio/ucrt_scanf.c
@@ -12,7 +12,7 @@
   __builtin_va_list __ap;
   int __ret;
   __builtin_va_start(__ap, _Format);
-  __ret = __stdio_common_vfscanf(0, stdin, _Format, NULL, __ap);
+  __ret = __stdio_common_vfscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, stdin, _Format, NULL, __ap);
   __builtin_va_end(__ap);
   return __ret;
 }
diff --git a/mingw-w64-crt/stdio/ucrt_sscanf.c b/mingw-w64-crt/stdio/ucrt_sscanf.c
index ebbaf50..752ecdc 100644
--- a/mingw-w64-crt/stdio/ucrt_sscanf.c
+++ b/mingw-w64-crt/stdio/ucrt_sscanf.c
@@ -12,7 +12,7 @@
   __builtin_va_list __ap;
   int __ret;
   __builtin_va_start(__ap, _Format);
-  __ret = __stdio_common_vsscanf(0, _Src, (size_t)-1, _Format, NULL, __ap);
+  __ret = __stdio_common_vsscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, _Src, (size_t)-1, _Format, NULL, __ap);
   __builtin_va_end(__ap);
   return __ret;
 }
diff --git a/mingw-w64-crt/stdio/ucrt_vfscanf.c b/mingw-w64-crt/stdio/ucrt_vfscanf.c
index 07b165f..a8a3a7d 100644
--- a/mingw-w64-crt/stdio/ucrt_vfscanf.c
+++ b/mingw-w64-crt/stdio/ucrt_vfscanf.c
@@ -9,5 +9,5 @@
 #include <stdio.h>
 
 int __cdecl vfscanf (FILE *__stream,  const char *__format, __builtin_va_list __local_argv) {
-  return __stdio_common_vfscanf(0, __stream, __format, NULL, __local_argv);
+  return __stdio_common_vfscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, __stream, __format, NULL, __local_argv);
 }
diff --git a/mingw-w64-crt/stdio/ucrt_vscanf.c b/mingw-w64-crt/stdio/ucrt_vscanf.c
index b694eed..1142507 100644
--- a/mingw-w64-crt/stdio/ucrt_vscanf.c
+++ b/mingw-w64-crt/stdio/ucrt_vscanf.c
@@ -9,5 +9,5 @@
 #include <stdio.h>
 
 int __cdecl vscanf(const char *__format, __builtin_va_list __local_argv) {
-  return __stdio_common_vfscanf(0, stdin, __format, NULL, __local_argv);
+  return __stdio_common_vfscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, stdin, __format, NULL, __local_argv);
 }
diff --git a/mingw-w64-crt/stdio/ucrt_vsscanf.c b/mingw-w64-crt/stdio/ucrt_vsscanf.c
index 44cccce..1e2d7be 100644
--- a/mingw-w64-crt/stdio/ucrt_vsscanf.c
+++ b/mingw-w64-crt/stdio/ucrt_vsscanf.c
@@ -9,5 +9,5 @@
 #include <stdio.h>
 
 int __cdecl vsscanf (const char * __restrict__ __source, const char * __restrict__ __format, __builtin_va_list __local_argv) {
-  return __stdio_common_vsscanf(0, __source, (size_t)-1, __format, NULL, __local_argv);
+  return __stdio_common_vsscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, __source, (size_t)-1, __format, NULL, __local_argv);
 }
