Index: uspace/lib/c/generic/vfs/vfs.c
===================================================================
--- uspace/lib/c/generic/vfs/vfs.c	(revision f34603950c98adb1062760eac4aa4c0027f7f239)
+++ uspace/lib/c/generic/vfs/vfs.c	(revision f8838b8ac2a352a35881b2816a5decc1f194558c)
@@ -875,10 +875,7 @@
 		sysarg_t p[3];
 
-		int j;
-		for (j = 0; j < 3; ++j) {
-			rc = async_req_0_1(exch, VFS_IN_PING, &p[j]);
-			if (rc != EOK)
-				goto exit;
-		}
+		rc = async_req_0_3(exch, VFS_IN_PING, &p[0], &p[1], &p[2]);
+		if (rc != EOK)
+			goto exit;
 
 		mtab_ent->flags = p[0];
Index: uspace/srv/vfs/vfs_ops.c
===================================================================
--- uspace/srv/vfs/vfs_ops.c	(revision f34603950c98adb1062760eac4aa4c0027f7f239)
+++ uspace/srv/vfs/vfs_ops.c	(revision f8838b8ac2a352a35881b2816a5decc1f194558c)
@@ -1384,22 +1384,15 @@
 		    str_size(mtab_ent->fs_name));
 
-		sysarg_t p[3];
-
-		p[0] = mtab_ent->flags;
-		p[1] = mtab_ent->instance;
-		p[2] = mtab_ent->fs_handle;
-
-		int i;
-		for (i = 0; i < 3; ++i) {
-			callid = async_get_call(&data);
-			if (IPC_GET_IMETHOD(data) != VFS_IN_PING) {
-				rc = ENOTSUP;
-				async_answer_1(callid, rc, 0);
-				goto exit;
-			}
-			async_answer_1(callid, EOK, p[i]);
+		callid = async_get_call(&data);
+
+		if (IPC_GET_IMETHOD(data) != VFS_IN_PING) {
+			rc = ENOTSUP;
+			async_answer_1(callid, rc, 0);
+			goto exit;
 		}
 
 		rc = EOK;
+		async_answer_3(callid, rc, mtab_ent->flags, mtab_ent->instance,
+		    mtab_ent->fs_handle);
 	}
 
