diff --git a/sys/include/net/gnrc/netapi.h b/sys/include/net/gnrc/netapi.h
index 355a721afbb1eab20901f3f506aa1030bd836185..c1b2d86a952b22b3dccd1333e3bcb8d62094326a 100644
--- a/sys/include/net/gnrc/netapi.h
+++ b/sys/include/net/gnrc/netapi.h
@@ -204,7 +204,7 @@ int gnrc_netapi_get(kernel_pid_t pid, netopt_t opt, uint16_t context,
  *                      wrong.
  */
 int gnrc_netapi_set(kernel_pid_t pid, netopt_t opt, uint16_t context,
-                    void *data, size_t data_len);
+                    const void *data, size_t data_len);
 
 #ifdef __cplusplus
 }
diff --git a/sys/net/gnrc/netapi/gnrc_netapi.c b/sys/net/gnrc/netapi/gnrc_netapi.c
index 9d7fbee96ee7b232fe20a900f0db8883e4d9a4cc..914ff5f0cead7d2d55a1ef9d251e690386b1ebe5 100644
--- a/sys/net/gnrc/netapi/gnrc_netapi.c
+++ b/sys/net/gnrc/netapi/gnrc_netapi.c
@@ -163,8 +163,10 @@ int gnrc_netapi_get(kernel_pid_t pid, netopt_t opt, uint16_t context,
 }
 
 int gnrc_netapi_set(kernel_pid_t pid, netopt_t opt, uint16_t context,
-                    void *data, size_t data_len)
+                    const void *data, size_t data_len)
 {
+    /* disregard const pointer. This *should* be safe and any modification
+     * to `data` should be considered a bug */
     return _get_set(pid, GNRC_NETAPI_MSG_TYPE_SET, opt, context,
-                    data, data_len);
+                    (void *)data, data_len);
 }