diff --git a/src/edu/nps/moves/dis7/utilities/DisThreadedNetIF.java b/src/edu/nps/moves/dis7/utilities/DisThreadedNetIF.java
index d056a315fe01a5a46d6d23753370c3d10be1deab..c44a36b13e3755c98b6300f0f1d9b7baae637519 100644
--- a/src/edu/nps/moves/dis7/utilities/DisThreadedNetIF.java
+++ b/src/edu/nps/moves/dis7/utilities/DisThreadedNetIF.java
@@ -327,32 +327,34 @@ public class DisThreadedNetIF
     catch (InterruptedException ex) {}
   }
 
-  /** Find proper interface
-   * @return a network interface to use to join a multicast group
-   */
-  public static NetworkInterface findIp4Interface()
-  {
-    Enumeration<NetworkInterface> ifaces = null;
-      try {
-          ifaces = NetworkInterface.getNetworkInterfaces();
-      } catch (SocketException ex) {
-          Logger.getLogger(DisThreadedNetIF.class.getName()).log(Level.SEVERE, null, ex);
-      }
-    NetworkInterface nif;
-    Enumeration<InetAddress> addresses;
-    InetAddress addr;
-    
-    while (ifaces != null && ifaces.hasMoreElements()) {
-      nif = ifaces.nextElement();
-      addresses = nif.getInetAddresses();
-      while (addresses.hasMoreElements()) {
-        addr = addresses.nextElement();
-        if (addr instanceof Inet4Address && !addr.isLoopbackAddress()) {
-          System.out.println("Using network interface " + nif.getDisplayName());
-          return nif;
+    /**
+     * Find proper interface
+     *
+     * @return a network interface to use to join a multicast group
+     */
+    public static NetworkInterface findIp4Interface() {
+        try {
+            Enumeration<NetworkInterface> ifaces = NetworkInterface.getNetworkInterfaces();
+            NetworkInterface nif;
+            Enumeration<InetAddress> addresses;
+            InetAddress addr;
+
+            while (ifaces != null && ifaces.hasMoreElements()) {
+                nif = ifaces.nextElement();
+                if (nif.isUp()) {
+                    addresses = nif.getInetAddresses();
+                    while (addresses.hasMoreElements()) {
+                        addr = addresses.nextElement();
+                        if (addr instanceof Inet4Address && !addr.isLoopbackAddress() && !addr.isLinkLocalAddress()) {
+                            System.out.println("Using network interface " + nif.getDisplayName());
+                            return nif;
+                        }
+                    }
+                }
+            }
+        } catch (SocketException ex) {
+            Logger.getLogger(DisThreadedNetIF.class.getName()).log(Level.SEVERE, null, ex);
         }
-      }
+        return null;
     }
-    return null;
-  }
 }