Index: uspace/lib/libc/generic/loader.c
===================================================================
--- uspace/lib/libc/generic/loader.c	(revision 4470e2627030413dc38c0d3b98d9c6a3e1672564)
+++ uspace/lib/libc/generic/loader.c	(revision 0993087d21ce36c0447d19abc526a783b55a4242)
@@ -36,4 +36,5 @@
 #include <ipc/loader.h>
 #include <libc.h>
+#include <task.h>
 #include <string.h>
 #include <stdlib.h>
@@ -94,5 +95,5 @@
 	/* Get task ID. */
 	req = async_send_0(ldr->phone_id, LOADER_GET_TASKID, &answer);
-	rc = ipc_data_read_start(ldr->phone_id, task_id, sizeof(task_id));
+	rc = ipc_data_read_start(ldr->phone_id, task_id, sizeof(task_id_t));
 	if (rc != EOK) {
 		async_wait_for(req, NULL);
Index: uspace/lib/libc/include/loader/loader.h
===================================================================
--- uspace/lib/libc/include/loader/loader.h	(revision 4470e2627030413dc38c0d3b98d9c6a3e1672564)
+++ uspace/lib/libc/include/loader/loader.h	(revision 0993087d21ce36c0447d19abc526a783b55a4242)
@@ -37,4 +37,6 @@
 #define LIBC_LOADER_H_
 
+#include <task.h>
+
 /** Abstraction of a loader connection */
 typedef struct {
Index: uspace/srv/loader/main.c
===================================================================
--- uspace/srv/loader/main.c	(revision 4470e2627030413dc38c0d3b98d9c6a3e1672564)
+++ uspace/srv/loader/main.c	(revision 0993087d21ce36c0447d19abc526a783b55a4242)
@@ -101,5 +101,5 @@
 	if (len > sizeof(task_id)) len = sizeof(task_id);
 
-	ipc_data_write_finalize(callid, &task_id, len);
+	ipc_data_read_finalize(callid, &task_id, len);
 	ipc_answer_0(rid, EOK);
 }
