Index: uspace/srv/net/il/ip/ip.c
===================================================================
--- uspace/srv/net/il/ip/ip.c	(revision 6092b56eb4ef8cfdc54d55c6d4e0abcfdd8af7f5)
+++ uspace/srv/net/il/ip/ip.c	(revision 02d9fecf1e3baf7c62bc4e7766c7c0d610639440)
@@ -895,4 +895,5 @@
 	ip_pseudo_header_ref header;
 	size_t headerlen;
+	device_id_t device_id;
 
 	*answer_count = 0;
@@ -921,5 +922,7 @@
 		case NET_IP_GET_ROUTE:
 			ERROR_PROPAGATE(data_receive((void **) &addr, &addrlen));
-			ERROR_PROPAGATE(ip_get_route_req(0, IP_GET_PROTOCOL(call), addr, (socklen_t) addrlen, IPC_SET_DEVICE(answer), &header, &headerlen));
+			ERROR_PROPAGATE(ip_get_route_req(0, IP_GET_PROTOCOL(call), addr, (socklen_t) addrlen,
+			    &device_id, &header, &headerlen));
+			*IPC_SET_DEVICE(answer) = device_id;
 			*IP_SET_HEADERLEN(answer) = headerlen;
 			*answer_count = 2;
Index: uspace/srv/net/il/ip/ip_messages.h
===================================================================
--- uspace/srv/net/il/ip/ip_messages.h	(revision 6092b56eb4ef8cfdc54d55c6d4e0abcfdd8af7f5)
+++ uspace/srv/net/il/ip/ip_messages.h	(revision 02d9fecf1e3baf7c62bc4e7766c7c0d610639440)
@@ -82,5 +82,5 @@
  *  @param[out] answer The message answer structure.
  */
-#define IP_SET_HEADERLEN(answer)	((size_t *) &IPC_GET_ARG2(*answer))
+#define IP_SET_HEADERLEN(answer)	(&IPC_GET_ARG2(*answer))
 
 /** Returns the network mask message parameter.
Index: uspace/srv/net/messages.h
===================================================================
--- uspace/srv/net/messages.h	(revision 6092b56eb4ef8cfdc54d55c6d4e0abcfdd8af7f5)
+++ uspace/srv/net/messages.h	(revision 02d9fecf1e3baf7c62bc4e7766c7c0d610639440)
@@ -391,10 +391,10 @@
  *  @param[out] answer The message answer structure.
  */
-#define IPC_SET_DEVICE(answer)	((device_id_t *) &IPC_GET_ARG1(*answer))
+#define IPC_SET_DEVICE(answer)	(&IPC_GET_ARG1(*answer))
 
 /** Sets the minimum address length in the message answer.
  *  @param[out] answer The message answer structure.
  */
-#define IPC_SET_ADDR(answer)		((size_t *) &IPC_GET_ARG1(*answer))
+#define IPC_SET_ADDR(answer)		(&IPC_GET_ARG1(*answer))
 
 /*@}*/
@@ -407,5 +407,5 @@
  *  @param[out] answer The message answer structure.
  */
-#define IPC_SET_PREFIX(answer)	((size_t *) &IPC_GET_ARG2(*answer))
+#define IPC_SET_PREFIX(answer)	(&IPC_GET_ARG2(*answer))
 
 /*@}*/
@@ -418,5 +418,5 @@
  *  @param[out] answer The message answer structure.
  */
-#define IPC_SET_CONTENT(answer)	((size_t *) &IPC_GET_ARG3(*answer))
+#define IPC_SET_CONTENT(answer)	(&IPC_GET_ARG3(*answer))
 
 /*@}*/
@@ -429,5 +429,5 @@
  *  @param[out] answer The message answer structure.
  */
-#define IPC_SET_SUFFIX(answer)	((size_t *) &IPC_GET_ARG4(*answer))
+#define IPC_SET_SUFFIX(answer)	(&IPC_GET_ARG4(*answer))
 
 /*@}*/
