diff --git a/libs/sofia-sip/libsofia-sip-ua/stun/sofia-sip/stun_common.h b/libs/sofia-sip/libsofia-sip-ua/stun/sofia-sip/stun_common.h
index fb72bdd18b..b97003a942 100644
--- a/libs/sofia-sip/libsofia-sip-ua/stun/sofia-sip/stun_common.h
+++ b/libs/sofia-sip/libsofia-sip-ua/stun/sofia-sip/stun_common.h
@@ -36,21 +36,8 @@
  * 
  */
 
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <time.h>
-
-#ifdef WIN32
-#include <winsock2.h>
-#else
-#include <sys/socket.h>
-#include <arpa/inet.h>
-#endif
-
 #include <sofia-sip/su_localinfo.h>
 
-
 SOFIA_BEGIN_DECLS
 
 /* Define Message Types */
diff --git a/libs/sofia-sip/libsofia-sip-ua/stun/stun_common.c b/libs/sofia-sip/libsofia-sip-ua/stun/stun_common.c
index fc0ea01603..4e7d498d90 100644
--- a/libs/sofia-sip/libsofia-sip-ua/stun/stun_common.c
+++ b/libs/sofia-sip/libsofia-sip-ua/stun/stun_common.c
@@ -43,6 +43,7 @@
 
 #include "stun_internal.h"
 
+#include <string.h>
 #include <assert.h>
 
 #if HAVE_FUNC
diff --git a/libs/sofia-sip/libsofia-sip-ua/stun/stun_dns.c b/libs/sofia-sip/libsofia-sip-ua/stun/stun_dns.c
index 5094e7c972..2445c17015 100644
--- a/libs/sofia-sip/libsofia-sip-ua/stun/stun_dns.c
+++ b/libs/sofia-sip/libsofia-sip-ua/stun/stun_dns.c
@@ -54,6 +54,8 @@ static char const __func__[] = "stun_dns";
 
 #include "stun_internal.h"
 
+#include <string.h>
+
 struct stun_dns_lookup_s {
   su_home_t          stun_home[1];
   su_root_t         *stun_root;
diff --git a/libs/sofia-sip/libsofia-sip-ua/stun/stun_mini.c b/libs/sofia-sip/libsofia-sip-ua/stun/stun_mini.c
index 234060bd29..da07a1a261 100644
--- a/libs/sofia-sip/libsofia-sip-ua/stun/stun_mini.c
+++ b/libs/sofia-sip/libsofia-sip-ua/stun/stun_mini.c
@@ -39,6 +39,7 @@
 #include "stun_internal.h"
 
 #include <assert.h>
+#include <string.h>
 
 typedef struct stun_bound_s stun_bound_t;
 
diff --git a/libs/sofia-sip/libsofia-sip-ua/tport/tport.c b/libs/sofia-sip/libsofia-sip-ua/tport/tport.c
index 8ef0794867..0a2b46678a 100644
--- a/libs/sofia-sip/libsofia-sip-ua/tport/tport.c
+++ b/libs/sofia-sip/libsofia-sip-ua/tport/tport.c
@@ -964,6 +964,10 @@ tport_t *tport_base_connect(tport_primary_t *pri,
   if (tport_setname(self, tpn->tpn_proto, real_ai, tpn->tpn_canon) == -1) 
     TPORT_CONNECT_ERROR(su_errno(), tport_setname);
 
+  /* Try to have a non-blocking connect().
+   * The su_wait_create() below makes the socket non-blocking anyway. */
+  su_setblocking(s, 0);
+
   if (connect(s, ai->ai_addr, (socklen_t)(ai->ai_addrlen)) == SOCKET_ERROR) {
     err = su_errno();
     if (!su_is_blocking(err))
diff --git a/libs/sofia-sip/libsofia-sip-ua/tport/tport_stub_sigcomp.c b/libs/sofia-sip/libsofia-sip-ua/tport/tport_stub_sigcomp.c
index 6cef051d00..ee17686616 100644
--- a/libs/sofia-sip/libsofia-sip-ua/tport/tport_stub_sigcomp.c
+++ b/libs/sofia-sip/libsofia-sip-ua/tport/tport_stub_sigcomp.c
@@ -33,6 +33,8 @@
 
 #include "tport_internal.h"
 
+#include <string.h>
+
 tport_comp_vtable_t const *tport_comp_vtable = NULL;
 
 int tport_plug_in_compress(tport_comp_vtable_t const *vsc)
diff --git a/libs/sofia-sip/libsofia-sip-ua/tport/tport_stub_stun.c b/libs/sofia-sip/libsofia-sip-ua/tport/tport_stub_stun.c
index b5971497a0..86eb469a02 100644
--- a/libs/sofia-sip/libsofia-sip-ua/tport/tport_stub_stun.c
+++ b/libs/sofia-sip/libsofia-sip-ua/tport/tport_stub_stun.c
@@ -40,6 +40,7 @@
 #include "sofia-sip/msg_addr.h"
 
 #include <assert.h>
+#include <string.h>
 
 /* ---------------------------------------------------------------------- */
 /* Plugin pointer */
diff --git a/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_sctp.c b/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_sctp.c
index c871381fca..df97398c84 100644
--- a/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_sctp.c
+++ b/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_sctp.c
@@ -50,6 +50,7 @@
 #include <assert.h>
 #include <errno.h>
 #include <limits.h>
+#include <string.h>
 
 /* ---------------------------------------------------------------------- */
 /* SCTP */
diff --git a/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_tls.c b/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_tls.c
index 68a651c83e..98b7a848c5 100644
--- a/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_tls.c
+++ b/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_tls.c
@@ -45,6 +45,7 @@
 #include <assert.h>
 #include <errno.h>
 #include <limits.h>
+#include <string.h>
 
 /* ---------------------------------------------------------------------- */
 /* TLS */
diff --git a/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_udp.c b/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_udp.c
index b73363caf1..b7c1ba51c3 100644
--- a/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_udp.c
+++ b/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_udp.c
@@ -43,6 +43,7 @@
 #endif
 
 #include <stdlib.h>
+#include <string.h>
 #include <time.h>
 #include <assert.h>
 #include <errno.h>