diff --git a/hashtable.hxx.in b/hashtable.hxx.in
index 469581c709602b1ffefb77d295be9d6bdcde97eb..b682d2a423b5358904bcaf982d275d04d7e350df 100644
--- a/hashtable.hxx.in
+++ b/hashtable.hxx.in
@@ -39,11 +39,6 @@
 #ifndef @KWSYS_NAMESPACE@_hashtable_hxx
 #define @KWSYS_NAMESPACE@_hashtable_hxx
 
-/* turn off no assignment warning */
-#if defined(_MSC_VER)
-#  pragma warning ( disable : 4512 ) /* no assignment operator for class */
-#endif
-
 #include <@KWSYS_NAMESPACE@/Configure.hxx>
 
 #include <@KWSYS_NAMESPACE@/cstddef>        // size_t
@@ -58,6 +53,7 @@
 # pragma warning (push)
 # pragma warning (disable:4284)
 # pragma warning (disable:4786)
+# pragma warning (disable:4512) /* no assignment operator for class */
 #endif
 
 #if @KWSYS_NAMESPACE@_STL_HAS_ALLOCATOR_TEMPLATE