diff --git a/flamenco_worker/ssdp_discover.py b/flamenco_worker/ssdp_discover.py
index 28c6c549ed5e1cad34d034fd6d93c0b55b7c52ae..f2e611e8cd334389ac03dd9f0dea8a823f75638b 100644
--- a/flamenco_worker/ssdp_discover.py
+++ b/flamenco_worker/ssdp_discover.py
@@ -1,4 +1,5 @@
 import logging
+import platform
 import socket
 from http.client import HTTPResponse
 
@@ -44,6 +45,7 @@ def find_flamenco_manager(timeout=1, retries=5):
     log.info('Finding Flamenco Manager through UPnP/SSDP discovery.')
 
     families_and_addresses = set(interface_addresses())
+    is_windows = platform.system() == 'Windows'
 
     for _ in range(retries):
         failed_families = 0
@@ -71,9 +73,8 @@ def find_flamenco_manager(timeout=1, retries=5):
             sock.bind(('', 1901))
 
             # Required on Windows, otherwise the message won't go out.
-            if family == socket.AF_INET:
-                host = socket.gethostbyname(socket.gethostname())
-                sock.setsockopt(socket.SOL_IP, socket.IP_MULTICAST_IF, socket.inet_aton(host))
+            if is_windows and family == socket.AF_INET:
+                sock.setsockopt(socket.SOL_IP, socket.IP_MULTICAST_IF, socket.inet_aton('0.0.0.0'))
 
             try:
                 for _ in range(2):