Index: uspace/srv/net/modules.c
===================================================================
--- uspace/srv/net/modules.c	(revision c7315dd8028fd65c7d1134d3ce05d800f2bd6b4c)
+++ uspace/srv/net/modules.c	(revision bc9da2a77f6c4a089d8231e222d0c24ab3fc92c3)
@@ -55,16 +55,17 @@
 
 int connect_to_service_timeout( services_t need, suseconds_t timeout ){
-	ipcarg_t phone;
-	int res;
+	if (timeout <= 0)
+		return async_connect_me_to_blocking( PHONE_NS, need, 0, 0);
+	
+	while( true ){
+		int phone;
 
-	while( true ){
-		res = async_req_3_5( PHONE_NS, IPC_M_CONNECT_ME_TO, need, 0, 0, NULL, NULL, NULL, NULL, & phone );
-		if( res >= 0 ){
+		phone = async_connect_me_to( PHONE_NS, need, 0, 0);
+		if( (phone >= 0) || (phone != ENOENT) )
 			return phone;
-		}
-		if( timeout > 0 ){
-			timeout -= MODULE_WAIT_TIME;
-			if( timeout <= 0 ) return ETIMEOUT;
-		}
+	
+		timeout -= MODULE_WAIT_TIME;
+		if( timeout <= 0 ) return ETIMEOUT;
+
 		usleep( MODULE_WAIT_TIME );
 	}
