diff --git a/rosjava/src/main/java/org/ros/address/InetAddressFactory.java b/rosjava/src/main/java/org/ros/address/InetAddressFactory.java
index 8c078493ad39819ffba2f95bfafead91bb9b5c09..0d69a973f93d7018ec34ca5e9a77405fcd1323aa 100644
--- a/rosjava/src/main/java/org/ros/address/InetAddressFactory.java
+++ b/rosjava/src/main/java/org/ros/address/InetAddressFactory.java
@@ -52,7 +52,13 @@ public class InetAddressFactory {
     }
     List<InetAddress> inetAddresses = Lists.newArrayList();
     for (NetworkInterface networkInterface : networkInterfaces) {
-      inetAddresses.addAll(Collections.list(networkInterface.getInetAddresses()));
+      try {
+        if (networkInterface.isUp()) {
+          inetAddresses.addAll(Collections.list(networkInterface.getInetAddresses()));
+        }
+      } catch (SocketException e) {
+        throw new RosRuntimeException(e);
+      }
     }
     return inetAddresses;
   }