Index: kernel/generic/include/synch/syswaitq.h
===================================================================
--- kernel/generic/include/synch/syswaitq.h	(revision 25f6bddb8298e93b8b3c063cd5d4808e555c9d54)
+++ kernel/generic/include/synch/syswaitq.h	(revision 0b8fad2245012923c34d3392f1edf5059aa89abf)
@@ -44,5 +44,5 @@
 
 extern sys_errno_t sys_waitq_create(cap_waitq_handle_t *);
-extern sys_errno_t sys_waitq_sleep(cap_waitq_handle_t, uintptr_t);
+extern sys_errno_t sys_waitq_sleep(cap_waitq_handle_t, uint32_t, unsigned int);
 extern sys_errno_t sys_waitq_wakeup(cap_waitq_handle_t);
 extern sys_errno_t sys_waitq_destroy(cap_waitq_handle_t);
Index: kernel/generic/src/synch/syswaitq.c
===================================================================
--- kernel/generic/src/synch/syswaitq.c	(revision 25f6bddb8298e93b8b3c063cd5d4808e555c9d54)
+++ kernel/generic/src/synch/syswaitq.c	(revision 0b8fad2245012923c34d3392f1edf5059aa89abf)
@@ -143,8 +143,11 @@
  * @param whandle  Waitq capability handle of the waitq in which to sleep.
  * @param timeout  Timeout in microseconds.
+ * @param flags    Flags from SYNCH_FLAGS_* family. SYNCH_FLAGS_INTERRUPTIBLE is
+ *                 always implied.
  *
  * @return         Error code.
  */
-sys_errno_t sys_waitq_sleep(cap_waitq_handle_t whandle, uintptr_t timeout)
+sys_errno_t sys_waitq_sleep(cap_waitq_handle_t whandle, uint32_t timeout,
+    unsigned int flags)
 {
 	kobject_t *kobj = kobject_get(TASK, whandle, KOBJECT_TYPE_WAITQ);
@@ -157,5 +160,5 @@
 
 	errno_t rc = waitq_sleep_timeout(kobj->waitq, timeout,
-	    SYNCH_FLAGS_INTERRUPTIBLE | SYNCH_FLAGS_FUTEX, NULL);
+	    SYNCH_FLAGS_INTERRUPTIBLE | flags, NULL);
 
 #ifdef CONFIG_UDEBUG
Index: uspace/lib/c/generic/private/futex.h
===================================================================
--- uspace/lib/c/generic/private/futex.h	(revision 25f6bddb8298e93b8b3c063cd5d4808e555c9d54)
+++ uspace/lib/c/generic/private/futex.h	(revision 0b8fad2245012923c34d3392f1edf5059aa89abf)
@@ -43,4 +43,5 @@
 #include <fibril.h>
 #include <abi/cap.h>
+#include <abi/synch.h>
 
 typedef struct futex {
@@ -147,6 +148,6 @@
 	}
 
-	return __SYSCALL2(SYS_WAITQ_SLEEP, (sysarg_t) futex->whandle,
-	    (sysarg_t) timeout);
+	return __SYSCALL3(SYS_WAITQ_SLEEP, (sysarg_t) futex->whandle,
+	    (sysarg_t) timeout, (sysarg_t) SYNCH_FLAGS_FUTEX);
 }
 
