diff --git a/src/com/android/settings/TetherService.java b/src/com/android/settings/TetherService.java
index 9176d44..ad0e41f 100644
--- a/src/com/android/settings/TetherService.java
+++ b/src/com/android/settings/TetherService.java
@@ -199,7 +199,9 @@
     }
 
     private void disableWifiTethering() {
-        TetherUtil.setWifiTethering(false, this);
+        ConnectivityManager cm =
+                (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
+        cm.stopTethering(ConnectivityManager.TETHERING_WIFI);
     }
 
     private void disableUsbTethering() {
diff --git a/src/com/android/settings/dashboard/conditional/HotspotCondition.java b/src/com/android/settings/dashboard/conditional/HotspotCondition.java
index 17be591..e440389 100644
--- a/src/com/android/settings/dashboard/conditional/HotspotCondition.java
+++ b/src/com/android/settings/dashboard/conditional/HotspotCondition.java
@@ -19,6 +19,7 @@
 import android.content.Context;
 import android.content.Intent;
 import android.graphics.drawable.Icon;
+import android.net.ConnectivityManager;
 import android.net.wifi.WifiConfiguration;
 import android.net.wifi.WifiManager;
 import android.os.UserHandle;
@@ -102,7 +103,9 @@
             if (admin != null) {
                 RestrictedLockUtils.sendShowAdminSupportDetailsIntent(context, admin);
             } else {
-                TetherUtil.setWifiTethering(false, context);
+                ConnectivityManager cm = (ConnectivityManager) context.getSystemService(
+                        Context.CONNECTIVITY_SERVICE);
+                cm.stopTethering(ConnectivityManager.TETHERING_WIFI);
                 setActive(false);
             }
         } else {
diff --git a/src/com/android/settings/wifi/WifiApEnabler.java b/src/com/android/settings/wifi/WifiApEnabler.java
index 8cfd049..760879e 100644
--- a/src/com/android/settings/wifi/WifiApEnabler.java
+++ b/src/com/android/settings/wifi/WifiApEnabler.java
@@ -110,16 +110,6 @@
         }
     }
 
-    public void setSoftapEnabled(boolean enable) {
-        if (TetherUtil.setWifiTethering(enable, mContext)) {
-            /* Disable here, enabled on receiving success broadcast */
-            mSwitch.setEnabled(false);
-        } else {
-            mSwitch.setSummary(R.string.wifi_error);
-        }
-
-    }
-
     public void updateConfigSummary(WifiConfiguration wifiConfig) {
         String s = mContext.getString(
                 com.android.internal.R.string.wifi_tether_configure_ssid_default);
