diff --git a/src/com/android/phone/CallHandlerServiceProxy.java b/src/com/android/phone/CallHandlerServiceProxy.java
index 27a99fd..3f38615 100644
--- a/src/com/android/phone/CallHandlerServiceProxy.java
+++ b/src/com/android/phone/CallHandlerServiceProxy.java
@@ -228,18 +228,18 @@
                 setupServiceConnection();
             }
         }
-    }
-
-    ;
+    };
 
     public void bringToForeground() {
         // only support this call if the service is already connected.
-        if (mCallHandlerService != null && mCallModeler.hasLiveCall()) {
-            try {
-                if (DBG) Log.d(TAG, "bringToForeground");
-                mCallHandlerService.bringToForeground();
-            } catch (RemoteException e) {
-                Log.e(TAG, "Exception handling bringToForeground", e);
+        synchronized (mServiceAndQueueLock) {
+            if (mCallHandlerServiceGuarded != null && mCallModeler.hasLiveCall()) {
+                try {
+                    if (DBG) Log.d(TAG, "bringToForeground");
+                    mCallHandlerServiceGuarded.bringToForeground();
+                } catch (RemoteException e) {
+                    Log.e(TAG, "Exception handling bringToForeground", e);
+                }
             }
         }
     }
