Index: uspace/srv/loader/main.c
===================================================================
--- uspace/srv/loader/main.c	(revision 08c9f7d5cc380c8c348f1125ecf5135ef7e5fb1a)
+++ uspace/srv/loader/main.c	(revision 95bc57cf68d3313bd1ab4ae930757d5fa26a00e5)
@@ -53,4 +53,6 @@
 #include <ipc/services.h>
 #include <ipc/loader.h>
+#include <ipc/ns.h>
+#include <macros.h>
 #include <loader/pcb.h>
 #include <errno.h>
@@ -438,7 +440,15 @@
 {
 	ipcarg_t phonead;
-	
+	task_id_t id;
+	int rc;
+
 	connected = false;
-	
+
+	/* Introduce this task to the NS (give it our task ID). */
+	id = task_get_id();
+	rc = async_req_2_0(PHONE_NS, NS_ID_INTRO, LOWER32(id), UPPER32(id));
+	if (rc != EOK)
+		return -1;
+
 	/* Set a handler of incomming connections. */
 	async_set_client_connection(ldr_connection);
@@ -446,6 +456,6 @@
 	/* Register at naming service. */
 	if (ipc_connect_to_me(PHONE_NS, SERVICE_LOAD, 0, 0, &phonead) != 0) 
-		return -1;
-	
+		return -2;
+
 	async_manager();
 	
