diff --git a/meson.build b/meson.build
index 4764b09266..f96425a61e 100644
--- a/meson.build
+++ b/meson.build
@@ -1056,9 +1056,12 @@ if not perlopt.disabled()
       perl_ccflags += ['-DPLPERL_HAVE_UID_GID']
 
       if cc.get_id() == 'msvc'
-        # prevent binary mismatch between MSVC built plperl and Strawberry or
-        # msys ucrt perl libraries
-        perl_ccflags += ['-DNO_THREAD_SAFE_LOCALE']
+        perl_v = run_command(perl, '-V').stdout()
+        if not perl_v.contains('USE_THREAD_SAFE_LOCALE')
+          # prevent binary mismatch between MSVC built plperl and Strawberry or
+          # msys ucrt perl libraries
+          perl_ccflags += ['-DNO_THREAD_SAFE_LOCALE']
+        endif
       endif
     endif
 
