diff --git a/include/yaml-cpp/exceptions.h b/include/yaml-cpp/exceptions.h
index 9c96859b2c94265269d6f2c08ccd9ac019960062..87b92f5e9469885e047440d158741ac3b717909c 100644
--- a/include/yaml-cpp/exceptions.h
+++ b/include/yaml-cpp/exceptions.h
@@ -15,7 +15,7 @@
 
 // This is here for compatibility with older versions of Visual Studio
 // which don't support noexcept
-#ifdef _MSC_VER
+#if defined(_MSC_VER) && _MSC_VER < 1900
     #define YAML_CPP_NOEXCEPT _NOEXCEPT
 #else
     #define YAML_CPP_NOEXCEPT noexcept
diff --git a/src/exceptions.cpp b/src/exceptions.cpp
index 9b6d8912c18ce037d4647e3ea3b8e9e8ddae80fe..841549e0dfbf71b13bf54f24ff7dc53f73b2fd73 100644
--- a/src/exceptions.cpp
+++ b/src/exceptions.cpp
@@ -2,7 +2,7 @@
 
 // This is here for compatibility with older versions of Visual Studio
 // which don't support noexcept
-#ifdef _MSC_VER
+#if defined(_MSC_VER) && _MSC_VER < 1900
     #define YAML_CPP_NOEXCEPT _NOEXCEPT
 #else
     #define YAML_CPP_NOEXCEPT noexcept