diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java
index 9148dcd..335d3fe 100644
--- a/services/java/com/android/server/ConnectivityService.java
+++ b/services/java/com/android/server/ConnectivityService.java
@@ -1784,6 +1784,12 @@
             LinkProperties p = nt.getLinkProperties();
             if (p == null) return;
             Collection<InetAddress> dnses = p.getDnses();
+            try {
+                mNetd.setDnsServersForInterface(Integer.toString(netType),
+                        NetworkUtils.makeStrings(dnses));
+            } catch (Exception e) {
+                Slog.e(TAG, "exception setting dns servers: " + e);
+            }
             boolean changed = false;
             if (mNetConfigs[netType].isDefault()) {
                 int j = 1;
@@ -1812,6 +1818,10 @@
                         SystemProperties.set("net.dns" + j++, dnsString);
                     }
                 }
+                try {
+                    mNetd.setDefaultInterfaceForDns(Integer.toString(netType));
+                } catch (Exception e) {
+                    Slog.e(TAG, "exception setting default dns interface: " + e);}
                 for (int k=j ; k<mNumDnsEntries; k++) {
                     if (changed || !TextUtils.isEmpty(SystemProperties.get("net.dns" + k))) {
                         if (DBG) log("erasing net.dns" + k);
