diff --git a/src/systemd_resolved_docker/cli.py b/src/systemd_resolved_docker/cli.py
index b216dfdb34b3cdab02dda0236fce6c5b6ed48d0f..607661292fa9239a6614f30340f299ac607eea73 100644
--- a/src/systemd_resolved_docker/cli.py
+++ b/src/systemd_resolved_docker/cli.py
@@ -56,7 +56,7 @@ def main():
     handler = Handler()
     handler.log("Default domain: %s, allowed domains: %s" % (default_domain, ", ".join(domains)))
 
-    resolved = SystemdResolvedConnector(interface, listen_addresses, domains)
+    resolved = SystemdResolvedConnector(interface, listen_addresses, listen_port, domains)
 
     dns_connector = DockerDNSConnector(listen_addresses, listen_port, dns_server, domains, default_domain, interface,
                                        handler, cli)
diff --git a/src/systemd_resolved_docker/resolvedconnector.py b/src/systemd_resolved_docker/resolvedconnector.py
index cc9560a703d5df0d40ccc7c4ccd84742586e8a49..d3eb11b23ae50ca7aeb8816c630d6f352544906a 100644
--- a/src/systemd_resolved_docker/resolvedconnector.py
+++ b/src/systemd_resolved_docker/resolvedconnector.py
@@ -7,11 +7,12 @@ from pyroute2 import IPRoute
 
 
 class SystemdResolvedConnector:
-    def __init__(self, docker_interface, listen_addresses, dns_domains):
+    def __init__(self, docker_interface, listen_addresses, listen_port, dns_domains):
         super().__init__()
 
         self.docker_interface = docker_interface
         self.listen_addresses = listen_addresses
+        self.listen_port = listen_port
         self.dns_domains = dns_domains
 
         self.ifindex = self.resolve_ifindex(docker_interface)
@@ -36,15 +37,17 @@ class SystemdResolvedConnector:
         ips = [
             [
                 AF_INET if isinstance(ip, ipaddress.IPv4Address) else AF_INET6,
-                ip.packed
+                ip.packed,
+                self.listen_port,
+                "",
             ]
             for ip in [ipaddress.ip_address(ip) for ip in self.listen_addresses]
         ]
 
         manager = self.if_manager()
-        manager.SetLinkDomains(self.ifindex, domains)
-        manager.SetLinkDNS(self.ifindex, ips)
+        manager.SetLinkDNSEx(self.ifindex, ips)
         manager.SetLinkDNSSEC(self.ifindex, "no")
+        manager.SetLinkDomains(self.ifindex, domains)
 
     def unregister(self):
         manager = self.if_manager()