diff --git a/inc/lektor/net.h b/inc/lektor/net.h
index dc1e569e9e8160c6bc7fa94e8eb003ba001222ce..e7d244bb356414064b60588d5479ff8a87fd0998 100644
--- a/inc/lektor/net.h
+++ b/inc/lektor/net.h
@@ -95,7 +95,7 @@ void lkt_set_continuation(struct lkt_state *srv, size_t c, int i);
 
 /* Get the mask to watch for events for a given client, to be used with the `idle` command.
  * Return a pointer to the client's mask */
-mpd_idle_flag lkt_client_get_mask(struct lkt_state *srv, size_t c);
+int lkt_client_get_mask(struct lkt_state *srv, size_t c);
 void lkt_client_add_mask(struct lkt_state *srv, size_t c, mpd_idle_flag add);
 void lkt_client_clear_mask(struct lkt_state *srv, size_t c);
 
diff --git a/src/net/listen.c b/src/net/listen.c
index 4bec3bf2b21fbb592825bf9c73b17c4d54e84e9c..37d1cbe38b34d83dbcaca97953d4277f0b17ad47 100644
--- a/src/net/listen.c
+++ b/src/net/listen.c
@@ -683,13 +683,13 @@ handle_idle_events(struct lkt_state *srv)
     return 0;
 }
 
-inline mpd_idle_flag
+int
 lkt_client_get_mask(struct lkt_state *srv, size_t c)
 {
     return srv->clients[c - 1].mpd_idle_watch;
 }
 
-inline void
+void
 lkt_client_add_mask(struct lkt_state *srv, size_t c, mpd_idle_flag add)
 {
     if (pthread_mutex_lock(&srv->lock))
@@ -698,7 +698,7 @@ lkt_client_add_mask(struct lkt_state *srv, size_t c, mpd_idle_flag add)
     pthread_mutex_unlock(&srv->lock);
 }
 
-inline void
+void
 lkt_client_clear_mask(struct lkt_state *srv, size_t c)
 {
     if (pthread_mutex_lock(&srv->lock))