diff --git a/rosjava/src/main/java/org/ros/address/InetAddressFactory.java b/rosjava/src/main/java/org/ros/address/InetAddressFactory.java
index 8c078493ad39819ffba2f95bfafead91bb9b5c09..79faddec0ce5cad5c2533f4bc779d4b3c24e8620 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;
   }