diff --git a/configure b/configure
index f3cf658b9e710dab2485b02888b9e1b0f680d5ac..7380226026b471d7e32aa11ca77b14c6ff0ef31f 100755
--- a/configure
+++ b/configure
@@ -13145,6 +13145,8 @@ fi
 
 
 
+
+
 
 
 
@@ -13155,6 +13157,7 @@ for ac_func in \
 	_snprintf \
 	_stricmp \
 	_strnicmp \
+	_vsnprintf \
 	chsize \
 	clone \
 	ecvt \
@@ -13202,6 +13205,7 @@ for ac_func in \
 	timegm \
 	usleep \
 	vfscanf \
+	vsnprintf \
 	wait4 \
 	waitpid \
 
diff --git a/configure.ac b/configure.ac
index c1ae4a717cf444bcff2a6c6dd91d2ba4faaea762..ed9cd300d94d8d15a9535978173e8cdebe694e96 100644
--- a/configure.ac
+++ b/configure.ac
@@ -936,6 +936,7 @@ AC_CHECK_FUNCS(\
 	_snprintf \
 	_stricmp \
 	_strnicmp \
+	_vsnprintf \
 	chsize \
 	clone \
 	ecvt \
@@ -983,6 +984,7 @@ AC_CHECK_FUNCS(\
 	timegm \
 	usleep \
 	vfscanf \
+	vsnprintf \
 	wait4 \
 	waitpid \
 )
diff --git a/include/config.h.in b/include/config.h.in
index 08631693b9598b64aeef42acd4fcfedb7a84b165..61893dbe1192a3a272c8cc31db817ab37badc9d7 100644
--- a/include/config.h.in
+++ b/include/config.h.in
@@ -638,6 +638,9 @@
 /* Define to 1 if you have the `vfscanf' function. */
 #undef HAVE_VFSCANF
 
+/* Define to 1 if you have the `vsnprintf' function. */
+#undef HAVE_VSNPRINTF
+
 /* Define to 1 if you have the `wait4' function. */
 #undef HAVE_WAIT4
 
@@ -695,6 +698,9 @@
 /* Define to 1 if you have the `_strnicmp' function. */
 #undef HAVE__STRNICMP
 
+/* Define to 1 if you have the `_vsnprintf' function. */
+#undef HAVE__VSNPRINTF
+
 /* Define if we have __va_copy */
 #undef HAVE___VA_COPY
 
diff --git a/include/wine/port.h b/include/wine/port.h
index a23ea534b76af225429d88b6017980958276c820..b45ee271a437acb081ad6dcd6b511f70c8f2c780 100644
--- a/include/wine/port.h
+++ b/include/wine/port.h
@@ -103,6 +103,10 @@ struct statfs;
 #define snprintf _snprintf
 #endif
 
+#if !defined(HAVE_VSNPRINTF) && defined(HAVE__VSNPRINTF)
+#define vsnprintf _vsnprintf
+#endif
+
 #ifndef S_ISLNK
 # define S_ISLNK(mod) (0)
 #endif /* S_ISLNK */