diff --git a/briar-core/.classpath b/briar-core/.classpath
index 3eb48987948a403ff73dab985dc8fbfa8c0d4eeb..9e7ecd15eeea0aa7f338b0c5e5208858da88c5b6 100644
--- a/briar-core/.classpath
+++ b/briar-core/.classpath
@@ -5,8 +5,8 @@
 	<classpathentry kind="lib" path="/briar-api/libs/guice-3.0-no_aop.jar"/>
 	<classpathentry kind="lib" path="libs/sc-light-jdk15on-1.47.0.3-SNAPSHOT.jar" sourcepath="libs/source/sc-light-jdk15on-1.47.0.3-SNAPSHOT-source.jar"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
-	<classpathentry kind="lib" path="libs/weupnp-0.1.3-SNAPSHOT.jar"/>
 	<classpathentry kind="lib" path="/briar-api/libs/javax.inject.jar"/>
 	<classpathentry kind="lib" path="libs/h2small-1.3.170.jar"/>
+	<classpathentry kind="lib" path="libs/weupnp-0.1.3-SNAPSHOT-briar.jar"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/briar-core/libs/weupnp-0.1.3-SNAPSHOT.jar b/briar-core/libs/weupnp-0.1.3-SNAPSHOT-briar.jar
similarity index 80%
rename from briar-core/libs/weupnp-0.1.3-SNAPSHOT.jar
rename to briar-core/libs/weupnp-0.1.3-SNAPSHOT-briar.jar
index 01e0cc9cf8beed17ec08e46168fad90151928ce7..fbcc8a9e710d802e4a960dd335b63b7302957da4 100644
Binary files a/briar-core/libs/weupnp-0.1.3-SNAPSHOT.jar and b/briar-core/libs/weupnp-0.1.3-SNAPSHOT-briar.jar differ
diff --git a/weupnp-0.1.3-SNAPSHOT.patch b/weupnp-0.1.3-SNAPSHOT.patch
new file mode 100644
index 0000000000000000000000000000000000000000..686fac9270b980c6d159df7e67ddfe61c8733431
--- /dev/null
+++ b/weupnp-0.1.3-SNAPSHOT.patch
@@ -0,0 +1,40 @@
+diff -Bbur weupnp-0.1.3-SNAPSHOT/src/main/java/org/bitlet/weupnp/GatewayDiscover.java weupnp-0.1.3-SNAPSHOT-briar/src/main/java/org/bitlet/weupnp/GatewayDiscover.java
+--- weupnp-0.1.3-SNAPSHOT/src/main/java/org/bitlet/weupnp/GatewayDiscover.java	2013-05-01 21:09:27.000000000 +0100
++++ weupnp-0.1.3-SNAPSHOT-briar/src/main/java/org/bitlet/weupnp/GatewayDiscover.java	2013-12-05 20:49:00.000000000 +0000
+@@ -253,7 +253,7 @@
+         while (st.hasMoreTokens()) {
+             String line = st.nextToken().trim();
+ 
+-            if (line.isEmpty())
++            if (line.equals(""))
+                 continue;
+ 
+             if (line.startsWith("HTTP/1.") || line.startsWith("NOTIFY *"))
+@@ -331,16 +331,6 @@
+         // For every suitable network interface, get all IP addresses
+         while (networkInterfaces.hasMoreElements()) {
+             NetworkInterface card = networkInterfaces.nextElement();
+-
+-            try {
+-                // skip devices, not suitable to search gateways for
+-                if (card.isLoopback() || card.isPointToPoint() ||
+-                        card.isVirtual() || !card.isUp())
+-                    continue;
+-            } catch (SocketException e) {
+-                continue;
+-            }
+-
+             Enumeration<InetAddress> addresses = card.getInetAddresses();
+ 
+             if (addresses == null)
+@@ -348,6 +338,10 @@
+ 
+             while (addresses.hasMoreElements()) {
+                 InetAddress inetAddress = addresses.nextElement();
++
++                if (inetAddress.isLoopbackAddress())
++                    continue;
++
+                 int index = arrayIPAddress.size();
+ 
+                 if (!getIPv4 || !getIPv6) {