diff --git a/src/xpdev/multisock.c b/src/xpdev/multisock.c
index 9e15a050454972655cef399c47358b4db00250c9..7bcde30651c5d1219b8672ab6f88e3b9a1e0c401 100644
--- a/src/xpdev/multisock.c
+++ b/src/xpdev/multisock.c
@@ -175,9 +175,10 @@ BOOL xpms_add_list(struct xpms_set *xpms_set, int domain, int type,
 	BOOL	one_good=FALSE;
 	
 	for(iface=list; iface && *iface; iface++) {
-		host=strdup(*iface);
 		WORD	port=default_port;
 
+		host=strdup(*iface);
+
 		host_str=host;
 		if(xpms_set->lprintf)
 			xpms_set->lprintf(LOG_INFO, "Adding %s listening socket on %s", prot, host);