diff --git a/graphics/x11drv/codepage.c b/graphics/x11drv/codepage.c
index cfcbd95f95ef92c20549ea39ead0558620c6046a..2734762029224b1b37aaaebd09d904a4f1429cdd 100644
--- a/graphics/x11drv/codepage.c
+++ b/graphics/x11drv/codepage.c
@@ -576,7 +576,7 @@ static void X11DRV_GetTextMetricsA_cp932( fontObject* pfo, LPTEXTMETRICA pTM )
     if ( pfo_ansi != NULL )
     {
 	pTM->tmAveCharWidth = floor((pfo_ansi->foAvgCharWidth * 2.0 + pfo->foAvgCharWidth) / 3.0 * pfo->rescale + 0.5);
-	pTM->tmMaxCharWidth = __max(pfo_ansi->foMaxCharWidth, pfo->foMaxCharWidth) * pfo->rescale;
+	pTM->tmMaxCharWidth = max(pfo_ansi->foMaxCharWidth, pfo->foMaxCharWidth) * pfo->rescale;
     }
     else
     {
diff --git a/include/Makefile.in b/include/Makefile.in
index 9ac55875fb7b724891d891cefca0ed063dc15e72..68270bf14b1993673a298ae59b2a64135c6f6494 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -39,6 +39,7 @@ INSTALLED_INCLUDES = \
 	mapidefs.h \
 	mciavi.h \
 	mcx.h \
+	minmax.h \
 	mmreg.h \
 	mmsystem.h \
 	msacm.h \
diff --git a/include/minmax.h b/include/minmax.h
new file mode 100644
index 0000000000000000000000000000000000000000..0367857f46adbb9e528a12acc75e399ed35fbaab
--- /dev/null
+++ b/include/minmax.h
@@ -0,0 +1,17 @@
+/*
+ * min/max macros
+ *
+ * Copyright 2001 Francois Gouget
+ */
+
+#ifndef __WINE_MINMAX_H
+#define __WINE_MINMAX_H
+
+#ifndef max
+#define max(a,b)   (((a) > (b)) ? (a) : (b))
+#endif
+#ifndef min
+#define min(a,b)   (((a) < (b)) ? (a) : (b))
+#endif
+
+#endif /* __WINE_MINMAX_H */
diff --git a/include/windef.h b/include/windef.h
index 23b2880512f6270bfe33ff1288352494ae93f56b..26cb541061263ded90d89c1fb0a3a5849d30fbdc 100644
--- a/include/windef.h
+++ b/include/windef.h
@@ -140,16 +140,15 @@ typedef INT     CALLBACK (*PROC)();
 #define ADD_LOWORD(dw,val)  ((dw) = ((dw) & 0xffff0000) | LOWORD((DWORD)(dw)+(val)))
 #endif
 
-
 /* min and max macros */
-#define __max(a,b) (((a) > (b)) ? (a) : (b))
-#define __min(a,b) (((a) < (b)) ? (a) : (b))
+#ifndef NOMINMAX
 #ifndef max
 #define max(a,b)   (((a) > (b)) ? (a) : (b))
 #endif
 #ifndef min
 #define min(a,b)   (((a) < (b)) ? (a) : (b))
 #endif
+#endif  /* NOMINMAX */
 
 #ifndef _MAX_PATH
 /* FIXME: These are supposed to be in stdlib.h only */