diff -Nur vmdesched-only.orig/compat_kernel.h vmdesched-only/compat_kernel.h
--- vmdesched-only.orig/compat_kernel.h	2008-03-05 23:52:23.000000000 +0100
+++ vmdesched-only/compat_kernel.h	2008-04-26 11:52:04.000000000 +0200
@@ -3,6 +3,12 @@
 
 #include <asm/unistd.h>
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 9)
+
+#define compat_complete_and_exit(comp, status) complete_and_exit(comp, status)
+
+#else
+
 /*
  * Used by _syscallX macros. Note that this is global variable, so
  * do not rely on its contents too much. As exit() is only function
@@ -20,16 +26,6 @@
 #define __NR_compat_exit __NR_exit
 static inline _syscall1(int, compat_exit, int, exit_code);
 
-
-/*
- * wait_for_completion and friends did not exist before 2.4.9.
- */
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 9)
-
-#define compat_complete_and_exit(comp, status) complete_and_exit(comp, status)
-
-#else
-
 /*
  * See compat_wait_for_completion in compat_completion.h.
  * compat_exit implicitly performs an unlock_kernel, in resident code,

