Automated import from //branches/donutburger/...@141979,141979
diff --git a/core/java/android/server/BluetoothDeviceService.java b/core/java/android/server/BluetoothDeviceService.java
index c61b25a..f1a7d25 100644
--- a/core/java/android/server/BluetoothDeviceService.java
+++ b/core/java/android/server/BluetoothDeviceService.java
@@ -51,6 +51,7 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.Map;
 
 import com.android.internal.app.IBatteryStats;
@@ -189,14 +190,14 @@
         // Remove remoteServiceChannelCallbacks
         HashMap<String, IBluetoothDeviceCallback> callbacksMap =
             mEventLoop.getRemoteServiceChannelCallbacks();
-        IBluetoothDeviceCallback callback;
 
-        for (String address : callbacksMap.keySet()) {
-            callback = callbacksMap.get(address);
+        for (Iterator<String> i = callbacksMap.keySet().iterator(); i.hasNext();) {
+            String address = i.next();
+            IBluetoothDeviceCallback callback = callbacksMap.get(address);
             try {
                 callback.onGetRemoteServiceChannelResult(address, BluetoothError.ERROR_DISABLED);
             } catch (RemoteException e) {}
-            callbacksMap.remove(address);
+            i.remove();
         }
 
         // update mode