diff --git a/compat/w32pthreads.h b/compat/w32pthreads.h
index ac9a8142f4390972c2ad9ebfd7b6059a8c5e023f..3bc69b31cb2b75f7c50aadf456af1b99a4f776fc 100644
--- a/compat/w32pthreads.h
+++ b/compat/w32pthreads.h
@@ -39,6 +39,11 @@
 #include <windows.h>
 #include <process.h>
 
+/* MinGW requires the intrinsics header for the pthread_once fallback code */
+#if _WIN32_WINNT < 0x0600 && defined(__MINGW32__)
+#include <intrin.h>
+#endif
+
 #include "libavutil/attributes.h"
 #include "libavutil/internal.h"
 #include "libavutil/mem.h"