Index: abi/include/abi/ipc/ipc.h
===================================================================
--- abi/include/abi/ipc/ipc.h	(revision d420b22fe09893c1b4117473e6787a4295055001)
+++ abi/include/abi/ipc/ipc.h	(revision 706b4de86801bb57b4394e17f933610630608b59)
@@ -82,6 +82,4 @@
 /* Return values from sys_ipc_call_async(). */
 #define IPC_CALLRET_FATAL      -1
-#define IPC_CALLRET_TEMPORARY  -2
-
 
 /* Macros for manipulating calling data */
Index: kernel/generic/src/ipc/sysipc.c
===================================================================
--- kernel/generic/src/ipc/sysipc.c	(revision d420b22fe09893c1b4117473e6787a4295055001)
+++ kernel/generic/src/ipc/sysipc.c	(revision 706b4de86801bb57b4394e17f933610630608b59)
@@ -359,6 +359,4 @@
  * @return Call hash on success.
  * @return IPC_CALLRET_FATAL in case of a fatal error.
- * @return IPC_CALLRET_TEMPORARY if there are too many pending
- *         asynchronous requests; answers should be handled first.
  *
  */
Index: uspace/app/trace/trace.c
===================================================================
--- uspace/app/trace/trace.c	(revision d420b22fe09893c1b4117473e6787a4295055001)
+++ uspace/app/trace/trace.c	(revision 706b4de86801bb57b4394e17f933610630608b59)
@@ -284,6 +284,5 @@
 	sysarg_t phoneid;
 	
-	if (sc_rc == (sysarg_t) IPC_CALLRET_FATAL ||
-	    sc_rc == (sysarg_t) IPC_CALLRET_TEMPORARY)
+	if (sc_rc == (sysarg_t) IPC_CALLRET_FATAL)
 		return;
 
@@ -305,6 +304,5 @@
 	int rc;
 
-	if (sc_rc == (sysarg_t) IPC_CALLRET_FATAL ||
-	    sc_rc == (sysarg_t) IPC_CALLRET_TEMPORARY)
+	if (sc_rc == (sysarg_t) IPC_CALLRET_FATAL)
 		return;
 
Index: uspace/lib/c/generic/ipc.c
===================================================================
--- uspace/lib/c/generic/ipc.c	(revision d420b22fe09893c1b4117473e6787a4295055001)
+++ uspace/lib/c/generic/ipc.c	(revision 706b4de86801bb57b4394e17f933610630608b59)
@@ -148,19 +148,4 @@
 	}
 	
-	if (callid == (ipc_callid_t) IPC_CALLRET_TEMPORARY) {
-		futex_unlock(&ipc_futex);
-		
-		call->u.msg.phoneid = phoneid;
-		
-		futex_down(&async_futex);
-		list_append(&call->list, &queued_calls);
-		
-		call->fid = fibril_get_id();
-		fibril_switch(FIBRIL_TO_MANAGER);
-		/* Async futex unlocked by previous call */
-		
-		return;
-	}
-	
 	call->u.callid = callid;
 	
@@ -210,27 +195,4 @@
 	ipc_callid_t callid = __SYSCALL6(SYS_IPC_CALL_ASYNC_FAST, phoneid,
 	    imethod, arg1, arg2, arg3, arg4);
-	
-	if (callid == (ipc_callid_t) IPC_CALLRET_TEMPORARY) {
-		if (!call) {
-			call = ipc_prepare_async(private, callback);
-			if (!call) {
-				futex_unlock(&ipc_futex);
-				return;
-			}
-		}
-		
-		IPC_SET_IMETHOD(call->u.msg.data, imethod);
-		IPC_SET_ARG1(call->u.msg.data, arg1);
-		IPC_SET_ARG2(call->u.msg.data, arg2);
-		IPC_SET_ARG3(call->u.msg.data, arg3);
-		IPC_SET_ARG4(call->u.msg.data, arg4);
-		
-		/*
-		 * To achieve deterministic behavior, we always zero out the
-		 * arguments that are beyond the limits of the fast version.
-		 */
-		
-		IPC_SET_ARG5(call->u.msg.data, 0);
-	}
 	
 	ipc_finish_async(callid, phoneid, call);
@@ -351,7 +313,4 @@
 		ipc_callid_t callid =
 		    ipc_call_async_internal(call->u.msg.phoneid, &call->u.msg.data);
-		
-		if (callid == (ipc_callid_t) IPC_CALLRET_TEMPORARY)
-			break;
 		
 		list_remove(&call->list);
