Index: uspace/lib/c/generic/async.c
===================================================================
--- uspace/lib/c/generic/async.c	(revision bd83012835a346d3b98fb0fa4aac917aa404a734)
+++ uspace/lib/c/generic/async.c	(revision cff3fb6c3220d53e3f075f4b038425266c3ad1ad)
@@ -1846,4 +1846,6 @@
 	
 	fibril_mutex_lock(&async_sess_mutex);
+
+	int rc = async_hangup_internal(sess->phone);
 	
 	while (!list_empty(&sess->exch_list)) {
@@ -1858,5 +1860,4 @@
 	}
 
-	int rc = async_hangup_internal(sess->phone);
 	free(sess);
 	
