diff --git a/modules/services_discovery/upnp-wrapper.hpp b/modules/services_discovery/upnp-wrapper.hpp
index 44ecb9449aefc7ab736959d9b14862bb3d669561..8eb062a052ed1444f468d0accf88fa14e2fc4fd7 100644
--- a/modules/services_discovery/upnp-wrapper.hpp
+++ b/modules/services_discovery/upnp-wrapper.hpp
@@ -128,7 +128,7 @@ inline IP_ADAPTER_MULTICAST_ADDRESS* getMulticastAddress(IP_ADAPTER_ADDRESSES* p
     return NULL;
 }
 
-inline bool isAdapterSuitable(IP_ADAPTER_ADDRESSES* p_adapter, bool ipv6)
+inline bool isAdapterSuitable(IP_ADAPTER_ADDRESSES* p_adapter)
 {
     if ( p_adapter->OperStatus != IfOperStatusUp )
         return false;
@@ -136,16 +136,20 @@ inline bool isAdapterSuitable(IP_ADAPTER_ADDRESSES* p_adapter, bool ipv6)
     {
         IP_ADAPTER_ADDRESSES_XP* p_adapter_xp = reinterpret_cast<IP_ADAPTER_ADDRESSES_XP*>( p_adapter );
         // On Windows Server 2003 and Windows XP, this member is zero if IPv4 is not available on the interface.
-        if (ipv6)
-            return p_adapter_xp->Ipv6IfIndex != 0;
+#if defined( UPNP_ENABLE_IPV6 )
+        return p_adapter_xp->Ipv6IfIndex != 0;
+#else
         return p_adapter_xp->IfIndex != 0;
+#endif
     }
     IP_ADAPTER_ADDRESSES_LH* p_adapter_lh = reinterpret_cast<IP_ADAPTER_ADDRESSES_LH*>( p_adapter );
     if (p_adapter_lh->FirstGatewayAddress == NULL)
         return false;
-    if (ipv6)
-        return p_adapter_lh->Ipv6Enabled;
+#if defined( UPNP_ENABLE_IPV6 )
+    return p_adapter_lh->Ipv6Enabled;
+#else
     return p_adapter_lh->Ipv4Enabled;
+#endif
 }
 
 inline IP_ADAPTER_ADDRESSES* ListAdapters()
@@ -192,7 +196,7 @@ inline char* getPreferedAdapter()
     p_adapter = addresses;
     while (p_adapter != NULL)
     {
-        if (isAdapterSuitable( p_adapter, true ))
+        if (isAdapterSuitable( p_adapter ))
         {
             /* make sure it supports 239.255.255.250 */
             IP_ADAPTER_MULTICAST_ADDRESS *p_multicast = getMulticastAddress( p_adapter );