diff --git a/xxh3.h b/xxh3.h
index 0972c46..e5c7101 100644
--- a/xxh3.h
+++ b/xxh3.h
@@ -40,7 +40,7 @@
 #ifndef XXH3_H
 #define XXH3_H
 
-
+#pragma warning (disable : 4146)
 /* ===   Dependencies   === */
 
 #undef XXH_INLINE_ALL   /* in case it's already defined */
@@ -97,7 +97,7 @@
 #endif
 
 /* U64 XXH_mult32to64(U32 a, U64 b) { return (U64)a * (U64)b; } */
-#ifdef _MSC_VER
+#if defined(_MSC_VER) && (!_WIN32_WINNT >= 0x0A00)
 #   include <intrin.h>
     /* MSVC doesn't do a good job with the mull detection. */
 #   define XXH_mult32to64 __emulu
diff --git a/xxhsum.c b/xxhsum.c
index 0ec11c0..7d39c24 100644
--- a/xxhsum.c
+++ b/xxhsum.c
@@ -31,6 +31,7 @@
 #ifndef XXHASH_C_2097394837
 #define XXHASH_C_2097394837
 
+#pragma warning (disable : 4146)
 /* ************************************
  *  Compiler Options
  **************************************/
