diff --git a/network-multicast.cabal b/network-multicast.cabal
--- a/network-multicast.cabal
+++ b/network-multicast.cabal
@@ -1,7 +1,7 @@
 name:               network-multicast
-version:            0.0.5
-copyright:          2008 Audrey Tang
-license:            BSD3
+version:            0.0.6
+copyright:          2008-2010 Audrey Tang
+license:            PublicDomain
 license-file:       LICENSE
 author:             Audrey Tang <audreyt@audreyt.org>
 maintainer:         Audrey Tang <audreyt@audreyt.org>
@@ -17,7 +17,7 @@
 library
     extensions:         ForeignFunctionInterface, CPP
     exposed-modules:    Network.Multicast
-    build-depends:      base >= 2 && < 4, network
+    build-depends:      base >= 4 && < 5, network
     hs-source-dirs:     src
     if os(win32)
         extra-libraries: ws2_32
diff --git a/src/Network/Multicast.hsc b/src/Network/Multicast.hsc
--- a/src/Network/Multicast.hsc
+++ b/src/Network/Multicast.hsc
@@ -80,7 +80,8 @@
 #else
     setSocketOption sock ReuseAddr 1
 #endif
-    bindSocket sock $ SockAddrInet port #{const INADDR_ANY}
+    (addrInfo:_) <- getAddrInfo Nothing (Just host) (Just $ show port)
+    bindSocket sock $ addrAddress addrInfo
     addMembership sock host
     return sock
 
