diff --git a/src/python/oftest/controller.py b/src/python/oftest/controller.py
index 5289fdd..81d26dc 100644
--- a/src/python/oftest/controller.py
+++ b/src/python/oftest/controller.py
@@ -160,11 +160,26 @@
         if self.passive:
             self.logger.info("Create/listen at " + self.host + ":" +
                              str(self.port))
-            self.listen_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-            self.listen_socket.setsockopt(socket.SOL_SOCKET,
-                                          socket.SO_REUSEADDR, 1)
-            self.listen_socket.bind((self.host, self.port))
-            self.listen_socket.listen(LISTEN_QUEUE_SIZE)
+            try:
+                ai = socket.getaddrinfo(self.host, self.port, socket.AF_UNSPEC,
+                                        socket.SOCK_STREAM, 0,
+                                        socket.AI_PASSIVE)
+            except:
+                raise Exception("Could not get address info for " + 
+                                self.host + ":" + str(self.port))
+
+            try:
+                # Use first returned addrinfo
+                (family, socktype, proto, name, sockaddr) = ai[0]
+                self.listen_socket = socket.socket(family, socktype)
+                self.listen_socket.setsockopt(socket.SOL_SOCKET,
+                                              socket.SO_REUSEADDR, 1)
+                self.listen_socket.bind(sockaddr)
+                self.listen_socket.listen(LISTEN_QUEUE_SIZE)
+            except Exception as e:
+                raise Exception("Could not set up socket for " + 
+                                self.host + ":" + str(self.port) + ': ' +
+                                str(e))
 
     def filter_packet(self, rawmsg, hdr):
         """
