diff --git a/briar-core/src/net/sf/briar/plugins/tcp/LanTcpPlugin.java b/briar-core/src/net/sf/briar/plugins/tcp/LanTcpPlugin.java
index c8c396eb505022ea761ff93d41447be045758cab..ec24848063b8d22c4b6fb11800195e1e86c51c2a 100644
--- a/briar-core/src/net/sf/briar/plugins/tcp/LanTcpPlugin.java
+++ b/briar-core/src/net/sf/briar/plugins/tcp/LanTcpPlugin.java
@@ -5,6 +5,7 @@ import static java.util.logging.Level.WARNING;
 
 import java.io.IOException;
 import java.net.DatagramPacket;
+import java.net.Inet6Address;
 import java.net.InetAddress;
 import java.net.InetSocketAddress;
 import java.net.MulticastSocket;
@@ -91,6 +92,7 @@ class LanTcpPlugin extends TcpPlugin {
 		for(NetworkInterface iface : ifaces) {
 			for(InetAddress a : Collections.list(iface.getInetAddresses())) {
 				if(addr != null && a.equals(addr)) continue;
+				if(a instanceof Inet6Address) continue;
 				if(a.isLoopbackAddress()) continue;
 				boolean link = a.isLinkLocalAddress();
 				boolean site = a.isSiteLocalAddress();
@@ -101,6 +103,7 @@ class LanTcpPlugin extends TcpPlugin {
 		for(NetworkInterface iface : ifaces) {
 			for(InetAddress a : Collections.list(iface.getInetAddresses())) {
 				if(addr != null && a.equals(addr)) continue;
+				if(a instanceof Inet6Address) continue;
 				if(a.isLoopbackAddress()) continue;
 				boolean link = a.isLinkLocalAddress();
 				boolean site = a.isSiteLocalAddress();
diff --git a/briar-core/src/net/sf/briar/plugins/tcp/WanTcpPlugin.java b/briar-core/src/net/sf/briar/plugins/tcp/WanTcpPlugin.java
index 8f4bbb7903d79ab7d87b064b1a3c01712a24a23a..008e118555d787fc0dfe5047fdae42737a7e5166 100644
--- a/briar-core/src/net/sf/briar/plugins/tcp/WanTcpPlugin.java
+++ b/briar-core/src/net/sf/briar/plugins/tcp/WanTcpPlugin.java
@@ -2,6 +2,7 @@ package net.sf.briar.plugins.tcp;
 
 import static java.util.logging.Level.WARNING;
 
+import java.net.Inet6Address;
 import java.net.InetAddress;
 import java.net.InetSocketAddress;
 import java.net.NetworkInterface;
@@ -84,6 +85,7 @@ class WanTcpPlugin extends TcpPlugin {
 		for(NetworkInterface iface : ifaces) {
 			for(InetAddress a : Collections.list(iface.getInetAddresses())) {
 				if(addr != null && a.equals(addr)) continue;
+				if(a instanceof Inet6Address) continue;
 				if(a.isLoopbackAddress()) continue;
 				boolean link = a.isLinkLocalAddress();
 				boolean site = a.isSiteLocalAddress();
@@ -93,8 +95,10 @@ class WanTcpPlugin extends TcpPlugin {
 		// Accept interfaces with local addresses that can be port-mapped
 		if(port == 0) port = chooseEphemeralPort();
 		mappingResult = portMapper.map(port);
-		if(mappingResult != null && mappingResult.isUsable())
-			addrs.add(mappingResult.getInternal());
+		if(mappingResult != null && mappingResult.isUsable()) {
+			InetSocketAddress a = mappingResult.getInternal();
+			if(!(a.getAddress() instanceof Inet6Address)) addrs.add(a);
+		}
 		return addrs;
 	}