diff --git a/src/cntlr.c b/src/cntlr.c
index 70bc33cb1f824d6befee85c0aca4a7ee36b4844d..3679adedac5315c7ad6342272138f42b4360897d 100644
--- a/src/cntlr.c
+++ b/src/cntlr.c
@@ -10,6 +10,7 @@
 
 #include <stdio.h>
 #include <stdlib.h>
+#include <sys/types.h>
 #include <unistd.h>
 #include <netinet/in.h>
 #include <arpa/inet.h>
@@ -1133,7 +1134,7 @@ static void controller_subscribe_for_cmdus(struct controller *c)
 	uint32_t map_id;
 	struct blob_buf bb = {};
 	struct map_module m = {
-		.id = 0x22222222,
+		.id = getpid(),
 		.process_cmdu_funcname = "mapclient_process_cmdu",
 	};