diff --git a/unix/xserver.patch b/unix/xserver.patch
index ec1fa34..7d66918 100644
--- a/unix/xserver.patch
+++ b/unix/xserver.patch
@@ -1,47 +1,15 @@
-diff -up mi/miinitext.c.orig xorg/mi/miinitext.c
---- mi/miinitext.c.orig	2008-01-28 10:18:46.000000000 +0100
-+++ mi/miinitext.c	2008-01-28 10:18:58.000000000 +0100
-@@ -289,6 +289,7 @@ extern void BigReqExtensionInit(INITARGS
- #ifdef MITMISC
- extern void MITMiscExtensionInit(INITARGS);
- #endif
-+extern void vncExtensionInit(INITARGS);
- #ifdef XIDLE
- extern void XIdleExtensionInit(INITARGS);
- #endif
-@@ -560,6 +561,7 @@ InitExtensions(argc, argv)
- #ifdef MITMISC
-     if (!noMITMiscExtension) MITMiscExtensionInit();
- #endif
-+    vncExtensionInit();
- #ifdef XIDLE
-     if (!noXIdleExtension) XIdleExtensionInit();
- #endif
-diff -up hw/Makefile.am.orig xorg/hw/Makefile.am
---- hw/Makefile.am.orig	2008-01-28 10:18:46.000000000 +0100
-+++ hw/Makefile.am	2008-01-28 10:18:58.000000000 +0100
-@@ -43,7 +43,8 @@ SUBDIRS =			\
- 	$(DMX_SUBDIRS)		\
- 	$(KDRIVE_SUBDIRS)	\
- 	$(XQUARTZ_SUBDIRS)	\
--	$(XPRINT_SUBDIRS)
-+	$(XPRINT_SUBDIRS)	\
-+	vnc
- 
- DIST_SUBDIRS = dmx xfree86 vfb xnest xwin xquartz kdrive xgl xprint
- 
-diff -up configure.ac.orig xserver/configure.ac
---- configure.ac.orig	2008-03-25 14:32:36.000000000 +0100
-+++ configure.ac	2008-03-26 20:14:16.000000000 +0100
-@@ -29,7 +29,6 @@ AC_PREREQ(2.57)
- AC_INIT([xorg-server], 1.4.99.2, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+diff -up xserver/configure.ac.orig xserver/configure.ac
+--- xserver/configure.ac.orig	2008-10-15 14:19:12.000000000 +0200
++++ xserver/configure.ac	2008-10-15 14:19:12.000000000 +0200
+@@ -30,7 +30,6 @@ AC_INIT([xorg-server], 1.5.2, [https://b
+ RELEASE_DATE="10 October 2008"
  AC_CONFIG_SRCDIR([Makefile.am])
  AM_INIT_AUTOMAKE([dist-bzip2 foreign])
 -AM_MAINTAINER_MODE
  
  dnl this gets generated by autoheader, and thus contains all the defines.  we
  dnl don't ever actually use it, internally.
-@@ -1206,6 +1205,9 @@ if test "x$XVFB" = xyes; then
+@@ -1214,6 +1213,9 @@ if test "x$XVFB" = xyes; then
  	AC_SUBST([XVFB_SYS_LIBS])
  fi
  
@@ -51,7 +19,7 @@
  
  dnl Xnest DDX
  
-@@ -2186,6 +2188,7 @@ hw/dmx/input/Makefile
+@@ -2178,6 +2180,7 @@ hw/dmx/input/Makefile
  hw/dmx/glxProxy/Makefile
  hw/dmx/Makefile
  hw/vfb/Makefile
@@ -59,3 +27,22 @@
  hw/xgl/Makefile
  hw/xgl/egl/Makefile
  hw/xgl/egl/module/Makefile
+diff -up xserver/mi/miinitext.c.orig xserver/mi/miinitext.c
+--- xserver/mi/miinitext.c.orig	2008-10-15 14:19:12.000000000 +0200
++++ xserver/mi/miinitext.c	2008-10-15 14:19:12.000000000 +0200
+@@ -292,6 +292,7 @@ extern void BigReqExtensionInit(INITARGS
+ #ifdef MITMISC
+ extern void MITMiscExtensionInit(INITARGS);
+ #endif
++extern void vncExtensionInit(INITARGS);
+ #ifdef XIDLE
+ extern void XIdleExtensionInit(INITARGS);
+ #endif
+@@ -566,6 +567,7 @@ InitExtensions(argc, argv)
+ #ifdef MITMISC
+     if (!noMITMiscExtension) MITMiscExtensionInit();
+ #endif
++    vncExtensionInit();
+ #ifdef XIDLE
+     if (!noXIdleExtension) XIdleExtensionInit();
+ #endif
