diff --git a/include/asm-generic/unistd.h b/include/asm-generic/unistd.h
index 30218b4fa4e0d07457ad89d22326fa69a9d8f6b2..c17cebc499522d160eacb93807593112e23673ca 100644
--- a/include/asm-generic/unistd.h
+++ b/include/asm-generic/unistd.h
@@ -638,8 +638,11 @@ __SYSCALL(__NR_recvmmsg, sys_recvmmsg)
  */
 #define __NR_arch_specific_syscall 244
 
+#define __NR_wait4 260
+__SYSCALL(__NR_wait4, sys_wait4)
+
 #undef __NR_syscalls
-#define __NR_syscalls 260
+#define __NR_syscalls 261
 
 /*
  * All syscalls below here should go away really,
@@ -776,8 +779,8 @@ __SYSCALL(__NR_epoll_wait, sys_epoll_wait)
 __SYSCALL(__NR_ustat, sys_ustat)
 #define __NR_vfork 1071
 __SYSCALL(__NR_vfork, sys_vfork)
-#define __NR_wait4 1072
-__SYSCALL(__NR_wait4, sys_wait4)
+#define __NR_oldwait4 1072
+__SYSCALL(__NR_oldwait4, sys_wait4)
 #define __NR_recv 1073
 __SYSCALL(__NR_recv, sys_recv)
 #define __NR_send 1074
diff --git a/scripts/checksyscalls.sh b/scripts/checksyscalls.sh
index 66ad375612f27f0aa2ce6902806e9ee59d7b2706..6bb42e72e0e5f1fe7af925b29c17cd3f91e73556 100755
--- a/scripts/checksyscalls.sh
+++ b/scripts/checksyscalls.sh
@@ -183,7 +183,6 @@ cat << EOF
 #define __IGNORE_ustat		/* statfs */
 #define __IGNORE_utime		/* utimes */
 #define __IGNORE_vfork		/* clone */
-#define __IGNORE_wait4		/* waitid */
 
 /* sync_file_range had a stupid ABI. Allow sync_file_range2 instead */
 #ifdef __NR_sync_file_range2