diff --git a/src/port/snprintf.c b/src/port/snprintf.c
index 54e23355f3eb39a485b568db26f257aa55e580d7..166374cabd6b7bf4a4b70afe5685f17b366ce231 100644
--- a/src/port/snprintf.c
+++ b/src/port/snprintf.c
@@ -33,6 +33,9 @@
 #include "c.h"
 
 #include <ctype.h>
+#ifdef _MSC_VER
+#include <float.h>				/* for _isnan */
+#endif
 #include <limits.h>
 #include <math.h>
 #ifndef WIN32