Index: network-manager-0.9.10.0/src/nm-ip4-config.c
===================================================================
--- network-manager-0.9.10.0.orig/src/nm-ip4-config.c	2014-07-03 20:44:19.000000000 -0400
+++ network-manager-0.9.10.0/src/nm-ip4-config.c	2014-07-29 19:42:06.965378158 -0400
@@ -198,7 +198,7 @@
 	for (i = 0; i < priv->routes->len; i++) {
 		const NMPlatformIP4Route *route = &g_array_index (priv->routes, NMPlatformIP4Route, i);
 
-		if (route->network == 0) {
+		if (NM_PLATFORM_IP_ROUTE_IS_DEFAULT (route)) {
 			if (route->metric < lowest_metric) {
 				priv->gateway = route->gateway;
 				lowest_metric = route->metric;
@@ -276,7 +276,8 @@
 			/* Don't add the default route if the connection
 			 * is never supposed to be the default connection.
 			 */
-			if (nm_ip4_config_get_never_default (config) && route.network == 0)
+			if (   nm_ip4_config_get_never_default (config)
+			    && NM_PLATFORM_IP_ROUTE_IS_DEFAULT (&route))
 				continue;
 
 			g_array_append_val (routes, route);
Index: network-manager-0.9.10.0/src/nm-ip6-config.c
===================================================================
--- network-manager-0.9.10.0.orig/src/nm-ip6-config.c	2014-07-03 20:44:19.000000000 -0400
+++ network-manager-0.9.10.0/src/nm-ip6-config.c	2014-07-29 19:42:06.965378158 -0400
@@ -308,7 +308,7 @@
 	for (i = 0; i < priv->routes->len; i++) {
 		const NMPlatformIP6Route *route = &g_array_index (priv->routes, NMPlatformIP6Route, i);
 
-		if (IN6_IS_ADDR_UNSPECIFIED (&route->network)) {
+		if (NM_PLATFORM_IP_ROUTE_IS_DEFAULT (route)) {
 			if (route->metric < lowest_metric) {
 				priv->gateway = route->gateway;
 				lowest_metric = route->metric;
@@ -387,7 +387,8 @@
 			/* Don't add the default route if the connection
 			 * is never supposed to be the default connection.
 			 */
-			if (nm_ip6_config_get_never_default (config) && IN6_IS_ADDR_UNSPECIFIED (&route.network))
+			if (   nm_ip6_config_get_never_default (config)
+			    && NM_PLATFORM_IP_ROUTE_IS_DEFAULT (&route))
 				continue;
 
 			g_array_append_val (routes, route);
Index: network-manager-0.9.10.0/src/platform/nm-linux-platform.c
===================================================================
--- network-manager-0.9.10.0.orig/src/platform/nm-linux-platform.c	2014-07-03 20:44:19.000000000 -0400
+++ network-manager-0.9.10.0/src/platform/nm-linux-platform.c	2014-07-29 19:42:06.969378050 -0400
@@ -3520,7 +3520,7 @@
 	for (object = nl_cache_get_first (priv->route_cache); object; object = nl_cache_get_next (object)) {
 		if (_route_match ((struct rtnl_route *) object, AF_INET, ifindex)) {
 			if (init_ip4_route (&route, (struct rtnl_route *) object)) {
-				if (route.plen != 0 || include_default)
+				if (!NM_PLATFORM_IP_ROUTE_IS_DEFAULT (&route) || include_default)
 					g_array_append_val (routes, route);
 			}
 		}
@@ -3542,7 +3542,7 @@
 	for (object = nl_cache_get_first (priv->route_cache); object; object = nl_cache_get_next (object)) {
 		if (_route_match ((struct rtnl_route *) object, AF_INET6, ifindex)) {
 			if (init_ip6_route (&route, (struct rtnl_route *) object)) {
-				if (route.plen != 0 || include_default)
+				if (!NM_PLATFORM_IP_ROUTE_IS_DEFAULT (&route) || include_default)
 					g_array_append_val (routes, route);
 			}
 		}
Index: network-manager-0.9.10.0/src/platform/nm-platform.h
===================================================================
--- network-manager-0.9.10.0.orig/src/platform/nm-platform.h	2014-07-03 20:44:13.000000000 -0400
+++ network-manager-0.9.10.0/src/platform/nm-platform.h	2014-07-29 19:41:45.549955242 -0400
@@ -248,6 +248,10 @@
 	};
 } NMPlatformIPRoute;
 
+#define NM_PLATFORM_IP_ROUTE_IS_DEFAULT(route) \
+       ( ((const NMPlatformIPRoute *) (route))->plen <= 0 )
+
+
 typedef struct {
 	__NMPlatformIPRoute_COMMON;
 	in_addr_t network;
