diff --git a/unix/xserver15.patch b/unix/xserver15.patch
index 15b3bee..2c2831e 100644
--- a/unix/xserver15.patch
+++ b/unix/xserver15.patch
@@ -1,6 +1,6 @@
 diff -up xserver/configure.ac.vnc xserver/configure.ac
---- xserver/configure.ac.vnc	2008-11-20 14:21:34.000000000 +0100
-+++ xserver/configure.ac	2008-11-20 14:22:17.000000000 +0100
+--- xserver/configure.ac.vnc	2009-02-25 11:29:49.000000000 +0100
++++ xserver/configure.ac	2009-02-25 11:38:33.000000000 +0100
 @@ -31,7 +31,6 @@ RELEASE_DATE="5 November 2008"
  REMEMBER_REMEMBER="The Fifth of November"
  AC_CONFIG_SRCDIR([Makefile.am])
@@ -17,7 +17,7 @@
  AM_PROG_AS
  AC_PROG_INSTALL
  AC_PROG_LN_S
-@@ -1215,6 +1215,9 @@ if test "x$XVFB" = xyes; then
+@@ -1220,6 +1220,9 @@ if test "x$XVFB" = xyes; then
  	AC_SUBST([XVFB_SYS_LIBS])
  fi
  
@@ -27,7 +27,24 @@
  
  dnl Xnest DDX
  
-@@ -2179,6 +2182,7 @@ hw/dmx/input/Makefile
+@@ -1314,6 +1317,8 @@ xorg_bus_ppcpci=no
+ xorg_bus_sparcpci=no
+ xorg_bus_sparc=no
+ 
++AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
++
+ if test "x$XORG" = xyes -o "x$XGL" = xyes; then
+ 	XORG_DDXINCS='-I$(top_srcdir)/hw/xfree86 -I$(top_srcdir)/hw/xfree86/include -I$(top_srcdir)/hw/xfree86/common'
+ 	XORG_OSINCS='-I$(top_srcdir)/hw/xfree86/os-support -I$(top_srcdir)/hw/xfree86/os-support/bus -I$(top_srcdir)/os'
+@@ -1521,7 +1526,6 @@ if test "x$XORG" = xyes -o "x$XGL" = xye
+ 	AC_DEFINE(XORGSERVER, 1, [Building Xorg server])
+ 	AC_DEFINE(XFree86Server, 1, [Building XFree86 server])
+ 	AC_DEFINE(XFree86LOADER, 1, [Building loadable XFree86 server])
+-	AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
+ 	AC_DEFINE(NEED_XF86_TYPES, 1, [Need XFree86 typedefs])
+ 	AC_DEFINE(NEED_XF86_PROTOTYPES, 1, [Need XFree86 helper functions])
+ 	AC_DEFINE(__XSERVERNAME__, "Xorg", [Name of X server])
+@@ -2184,6 +2188,7 @@ hw/dmx/input/Makefile
  hw/dmx/glxProxy/Makefile
  hw/dmx/Makefile
  hw/vfb/Makefile
@@ -36,8 +53,8 @@
  hw/xgl/egl/Makefile
  hw/xgl/egl/module/Makefile
 diff -up xserver/hw/Makefile.am.vnc xserver/hw/Makefile.am
---- xserver/hw/Makefile.am.vnc	2008-11-20 14:21:34.000000000 +0100
-+++ xserver/hw/Makefile.am	2008-11-20 14:21:38.000000000 +0100
+--- xserver/hw/Makefile.am.vnc	2009-02-25 11:29:49.000000000 +0100
++++ xserver/hw/Makefile.am	2009-02-25 11:31:25.000000000 +0100
 @@ -43,7 +43,8 @@ SUBDIRS =			\
  	$(DMX_SUBDIRS)		\
  	$(KDRIVE_SUBDIRS)	\
@@ -49,8 +66,8 @@
  DIST_SUBDIRS = dmx xfree86 vfb xnest xwin xquartz kdrive xgl xprint
  
 diff -up xserver/mi/miinitext.c.vnc xserver/mi/miinitext.c
---- xserver/mi/miinitext.c.vnc	2008-11-20 14:21:37.000000000 +0100
-+++ xserver/mi/miinitext.c	2008-11-20 14:21:38.000000000 +0100
+--- xserver/mi/miinitext.c.vnc	2009-02-25 11:29:51.000000000 +0100
++++ xserver/mi/miinitext.c	2009-02-25 11:31:25.000000000 +0100
 @@ -292,6 +292,7 @@ extern void BigReqExtensionInit(INITARGS
  #ifdef MITMISC
  extern void MITMiscExtensionInit(INITARGS);
diff --git a/unix/xserver16.patch b/unix/xserver16.patch
index b3edaf6..cadf748 100644
--- a/unix/xserver16.patch
+++ b/unix/xserver16.patch
@@ -1,13 +1,13 @@
 diff -up xserver/configure.ac.vnc xserver/configure.ac
---- xserver/configure.ac.vnc	2009-02-04 17:59:08.000000000 +0100
-+++ xserver/configure.ac	2009-02-04 17:59:38.000000000 +0100
+--- xserver/configure.ac.vnc	2009-02-25 11:45:20.000000000 +0100
++++ xserver/configure.ac	2009-02-25 11:49:37.000000000 +0100
 @@ -29,7 +29,6 @@ AC_PREREQ(2.57)
- AC_INIT([xorg-server], 1.5.99.902, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+ AC_INIT([xorg-server], 1.5.99.903, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
  AC_CONFIG_SRCDIR([Makefile.am])
  AM_INIT_AUTOMAKE([dist-bzip2 foreign])
 -AM_MAINTAINER_MODE
  
- RELEASE_DATE="2009-1-30"
+ RELEASE_DATE="2009-2-17"
  
 @@ -52,6 +51,7 @@ dnl kdrive-config.h covers the kdrive DD
  AC_CONFIG_HEADERS(include/kdrive-config.h)
@@ -17,7 +17,7 @@
  AM_PROG_AS
  AC_PROG_INSTALL
  AC_PROG_LN_S
-@@ -1203,6 +1203,9 @@ if test "x$XVFB" = xyes; then
+@@ -1195,6 +1195,9 @@ if test "x$XVFB" = xyes; then
  	AC_SUBST([XVFB_SYS_LIBS])
  fi
  
@@ -27,7 +27,24 @@
  
  dnl Xnest DDX
  
-@@ -1879,6 +1882,7 @@ hw/dmx/input/Makefile
+@@ -1230,6 +1233,8 @@ xorg_bus_linuxpci=no
+ xorg_bus_bsdpci=no
+ xorg_bus_sparc=no
+ 
++AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
++
+ if test "x$XORG" = xyes; then
+ 	XORG_DDXINCS='-I$(top_srcdir)/hw/xfree86 -I$(top_srcdir)/hw/xfree86/include -I$(top_srcdir)/hw/xfree86/common'
+ 	XORG_OSINCS='-I$(top_srcdir)/hw/xfree86/os-support -I$(top_srcdir)/hw/xfree86/os-support/bus -I$(top_srcdir)/os'
+@@ -1417,7 +1422,6 @@ if test "x$XORG" = xyes; then
+ 	AC_DEFINE(XORGSERVER, 1, [Building Xorg server])
+ 	AC_DEFINE(XFree86Server, 1, [Building XFree86 server])
+ 	AC_DEFINE(XFree86LOADER, 1, [Building loadable XFree86 server])
+-	AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
+ 	AC_DEFINE(NEED_XF86_TYPES, 1, [Need XFree86 typedefs])
+ 	AC_DEFINE(NEED_XF86_PROTOTYPES, 1, [Need XFree86 helper functions])
+ 	AC_DEFINE(__XSERVERNAME__, "Xorg", [Name of X server])
+@@ -1871,6 +1875,7 @@ hw/dmx/input/Makefile
  hw/dmx/glxProxy/Makefile
  hw/dmx/Makefile
  hw/vfb/Makefile
@@ -36,8 +53,8 @@
  hw/xwin/Makefile
  hw/xquartz/Makefile
 diff -up xserver/hw/Makefile.am.vnc xserver/hw/Makefile.am
---- xserver/hw/Makefile.am.vnc	2009-02-04 17:59:08.000000000 +0100
-+++ xserver/hw/Makefile.am	2009-02-04 17:59:27.000000000 +0100
+--- xserver/hw/Makefile.am.vnc	2009-02-25 11:45:20.000000000 +0100
++++ xserver/hw/Makefile.am	2009-02-25 11:45:37.000000000 +0100
 @@ -33,7 +33,8 @@ SUBDIRS =			\
  	$(XNEST_SUBDIRS)	\
  	$(DMX_SUBDIRS)		\
@@ -49,8 +66,8 @@
  DIST_SUBDIRS = dmx xfree86 vfb xnest xwin xquartz kdrive
  
 diff -up xserver/mi/miinitext.c.vnc xserver/mi/miinitext.c
---- xserver/mi/miinitext.c.vnc	2009-02-04 17:59:08.000000000 +0100
-+++ xserver/mi/miinitext.c	2009-02-04 17:59:27.000000000 +0100
+--- xserver/mi/miinitext.c.vnc	2009-02-25 11:45:21.000000000 +0100
++++ xserver/mi/miinitext.c	2009-02-25 11:45:37.000000000 +0100
 @@ -272,6 +272,7 @@ extern void DamageExtensionInit(INITARGS
  extern void CompositeExtensionInit(INITARGS);
  #endif
