Index: uspace/lib/c/generic/async.c
===================================================================
--- uspace/lib/c/generic/async.c	(revision b1c57a828cb73794beb6a309f5ec0199ca75ecc2)
+++ uspace/lib/c/generic/async.c	(revision fb1007efd862a6a47e2acf22a761d8507bd10c0b)
@@ -820,5 +820,5 @@
 	if (usecs) {
 		getuptime(&conn->wdata.to_event.expires);
-		tv_add(&conn->wdata.to_event.expires, usecs);
+		tv_add_diff(&conn->wdata.to_event.expires, usecs);
 	} else
 		conn->wdata.to_event.inlist = false;
@@ -1214,5 +1214,6 @@
 
 			} else {
-				timeout = tv_sub(&waiter->to_event.expires, &tv);
+				timeout = tv_sub_diff(&waiter->to_event.expires,
+				    &tv);
 				futex_up(&async_futex);
 			}
@@ -1505,5 +1506,5 @@
 
 	getuptime(&msg->wdata.to_event.expires);
-	tv_add(&msg->wdata.to_event.expires, timeout);
+	tv_add_diff(&msg->wdata.to_event.expires, timeout);
 	
 	/*
@@ -1587,5 +1588,5 @@
 	
 	getuptime(&msg->wdata.to_event.expires);
-	tv_add(&msg->wdata.to_event.expires, timeout);
+	tv_add_diff(&msg->wdata.to_event.expires, timeout);
 	
 	futex_down(&async_futex);
