diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java
index 72a1192..df37d35 100644
--- a/services/java/com/android/server/ConnectivityService.java
+++ b/services/java/com/android/server/ConnectivityService.java
@@ -513,7 +513,8 @@
                     mNetRequestersPids[usedNetworkType].add(currentPid);
                 }
 
-                if (ni.isConnectedOrConnecting() == true) {
+                if ((ni.isConnectedOrConnecting() == true) &&
+                        !network.isTeardownRequested()) {
                     if (ni.isConnected() == true) {
                         // add the pid-specific dns
                         handleDnsConfigurationChange();
@@ -686,6 +687,7 @@
                 ++numConnectedNets;
             }
         }
+        if (DBG) Log.d(TAG, "numConnectedNets returning "+numConnectedNets);
         return numConnectedNets;
     }
 
@@ -792,7 +794,8 @@
                 if (newNet.isAvailable()) {
                     NetworkInfo switchTo = newNet.getNetworkInfo();
                     switchTo.setFailover(true);
-                    if (!switchTo.isConnectedOrConnecting()) {
+                    if (!switchTo.isConnectedOrConnecting() ||
+                            newNet.isTeardownRequested()) {
                         newNet.reconnect();
                     }
                     if (DBG) {
