diff --git a/package/gluon-neighbour-info/src/gluon-neighbour-info.c b/package/gluon-neighbour-info/src/gluon-neighbour-info.c
index d0df56ab961c6621fea583eeb8f62d1e88e94dc6..24237bfe83d31d6eeea0ae59a8786e806321384f 100644
--- a/package/gluon-neighbour-info/src/gluon-neighbour-info.c
+++ b/package/gluon-neighbour-info/src/gluon-neighbour-info.c
@@ -220,6 +220,16 @@ int main(int argc, char **argv) {
 		exit(EXIT_FAILURE);
 	}
 
+	if (client_addr.sin6_scope_id) {
+		if (setsockopt(
+			sock, IPPROTO_IPV6, IPV6_MULTICAST_IF,
+			&client_addr.sin6_scope_id, sizeof(client_addr.sin6_scope_id)
+		) < 0) {
+			perror("setsockopt");
+			exit(EXIT_FAILURE);
+		}
+	}
+
 	if (sse) {
 		fputs("Content-Type: text/event-stream\n\n", stdout);
 		fflush(stdout);