diff --git a/core/java/src/net/i2p/util/Addresses.java b/core/java/src/net/i2p/util/Addresses.java
index 97e19cf5411b33f7041033428925e4580f9500a3..0bf7df7056c11089111de4b4f79f9ef60c2ad4fd 100644
--- a/core/java/src/net/i2p/util/Addresses.java
+++ b/core/java/src/net/i2p/util/Addresses.java
@@ -75,16 +75,19 @@ public abstract class Addresses {
         } catch (UnknownHostException e) {}
 
         try {
-            for(Enumeration<NetworkInterface> ifcs = NetworkInterface.getNetworkInterfaces(); ifcs.hasMoreElements();) {
-                NetworkInterface ifc = ifcs.nextElement();
-                for(Enumeration<InetAddress> addrs =  ifc.getInetAddresses(); addrs.hasMoreElements();) {
-                    InetAddress addr = addrs.nextElement();
-                    if (addr instanceof Inet4Address)
-                        haveIPv4 = true;
-                    else
-                        haveIPv6 = true;
-                    if (shouldInclude(addr, includeLocal, includeIPv6))
-                        rv.add(addr.getHostAddress());
+            Enumeration<NetworkInterface> ifcs = NetworkInterface.getNetworkInterfaces();
+            if (ifcs != null) {
+                while (ifcs.hasMoreElements()) {
+                    NetworkInterface ifc = ifcs.nextElement();
+                    for(Enumeration<InetAddress> addrs =  ifc.getInetAddresses(); addrs.hasMoreElements();) {
+                        InetAddress addr = addrs.nextElement();
+                        if (addr instanceof Inet4Address)
+                            haveIPv4 = true;
+                        else
+                            haveIPv6 = true;
+                        if (shouldInclude(addr, includeLocal, includeIPv6))
+                            rv.add(addr.getHostAddress());
+                    }
                 }
             }
         } catch (SocketException e) {}