Index: uspace/lib/c/generic/async/client.c
===================================================================
--- uspace/lib/c/generic/async/client.c	(revision 984a9ba2fa05c490a7066737655ed19130c714e8)
+++ uspace/lib/c/generic/async/client.c	(revision bd9e868109273fe333c36fad00976f58740dbb8b)
@@ -186,4 +186,7 @@
 static void amsg_destroy(amsg_t *msg)
 {
+	if (!msg)
+		return;
+
 	assert(!msg->destroyed);
 	msg->destroyed = true;
@@ -352,5 +355,9 @@
 void async_wait_for(aid_t amsgid, errno_t *retval)
 {
-	assert(amsgid);
+	if (amsgid == 0) {
+		if (retval)
+			*retval = ENOMEM;
+		return;
+	}
 
 	amsg_t *msg = (amsg_t *) amsgid;
@@ -397,5 +404,9 @@
 errno_t async_wait_timeout(aid_t amsgid, errno_t *retval, suseconds_t timeout)
 {
-	assert(amsgid);
+	if (amsgid == 0) {
+		if (retval)
+			*retval = ENOMEM;
+		return EOK;
+	}
 
 	amsg_t *msg = (amsg_t *) amsgid;
@@ -468,7 +479,9 @@
 void async_forget(aid_t amsgid)
 {
+	if (amsgid == 0)
+		return;
+
 	amsg_t *msg = (amsg_t *) amsgid;
 
-	assert(msg);
 	assert(!msg->forget);
 	assert(!msg->destroyed);
