Index: uspace/srv/vfs/vfs_lookup.c
===================================================================
--- uspace/srv/vfs/vfs_lookup.c	(revision 40feeac3d6d981d671abe77b20b3aa999c586faf)
+++ uspace/srv/vfs/vfs_lookup.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
@@ -222,6 +222,6 @@
 	vfs_exchange_release(exch);
 	
-	if ((int) rc < 0)
-		return (int) rc;
+	if (rc != EOK)
+		return rc;
 	
 	unsigned last = *pfirst + *plen;
@@ -229,6 +229,6 @@
 	*plen = last - *pfirst;
 	
-	result->triplet.fs_handle = (fs_handle_t) rc;
-	result->triplet.service_id = (service_id_t) IPC_GET_ARG1(answer);
+	result->triplet.fs_handle = (fs_handle_t) IPC_GET_ARG1(answer);
+	result->triplet.service_id = base->service_id;
 	result->triplet.index = (fs_index_t) IPC_GET_ARG2(answer);
 	result->size = MERGE_LOUP32(IPC_GET_ARG4(answer), IPC_GET_ARG5(answer));
