diff --git a/server/unicode.h b/server/unicode.h
index c1df7f58c3a9f773478616868b67fb20c4b2361e..dd7d03b740e4dae20eb42ca952b17706d3cf6901 100644
--- a/server/unicode.h
+++ b/server/unicode.h
@@ -34,6 +34,11 @@ static inline int strcmpW( const WCHAR *str1, const WCHAR *str2 )
     return *str1 - *str2;
 }
 
+#ifndef HAVE_WCTYPE_H
+/* FIXME */
+#define towupper(ch) (HIBYTE(ch) ? ch : (WCHAR)toupper(LOBYTE(ch)))
+#endif
+
 static inline int strcmpiW( const WCHAR *str1, const WCHAR *str2 ) 
 {
     while (*str1 && (towupper(*str1) == towupper(*str2))) { str1++; str2++; }