diff --git a/src/com/android/settings/TetherSettings.java b/src/com/android/settings/TetherSettings.java
index ce53550..f6c1734 100644
--- a/src/com/android/settings/TetherSettings.java
+++ b/src/com/android/settings/TetherSettings.java
@@ -374,12 +374,6 @@
 
     private void updateBluetoothState(String[] available, String[] tethered,
             String[] errored) {
-        int bluetoothTethered = 0;
-        for (String s : tethered) {
-            for (String regex : mBluetoothRegexs) {
-                if (s.matches(regex)) bluetoothTethered++;
-            }
-        }
         boolean bluetoothErrored = false;
         for (String s: errored) {
             for (String regex : mBluetoothRegexs) {
@@ -399,6 +393,7 @@
                     mBluetoothPan != null && mBluetoothPan.isTetheringOn()) {
             mBluetoothTether.setChecked(true);
             mBluetoothTether.setEnabled(true);
+            int bluetoothTethered = mBluetoothPan.getConnectedDevices().size();
             if (bluetoothTethered > 1) {
                 String summary = getString(
                         R.string.bluetooth_tethering_devices_connected_subtext, bluetoothTethered);
