diff --git a/network-multicast.cabal b/network-multicast.cabal
--- a/network-multicast.cabal
+++ b/network-multicast.cabal
@@ -1,6 +1,6 @@
 name:               network-multicast
-version:            0.0.12
-copyright:          2008-2014 Audrey Tang
+version:            0.1.0
+copyright:          2008-2015 Audrey Tang
 license:            PublicDomain
 license-file:       LICENSE
 author:             Audrey Tang <audreyt@audreyt.org>
diff --git a/src/Network/Multicast.hsc b/src/Network/Multicast.hsc
--- a/src/Network/Multicast.hsc
+++ b/src/Network/Multicast.hsc
@@ -88,8 +88,9 @@
 #endif
     setup :: Socket -> IO Socket
     setup sock = do
-      bindSocket sock $ SockAddrInet port iNADDR_ANY
+      (addrInfo:_) <- getAddrInfo Nothing (Just host) (Just $ show port)
       addMembership sock host Nothing
+      bindSocket sock $ addrAddress addrInfo
       return sock
 
 doSetSocketOption :: Storable a => CInt -> Socket -> a -> IO CInt
