Merge "Remove requests to start background thread."
diff --git a/src/com/android/contacts/calllog/CallLogFragment.java b/src/com/android/contacts/calllog/CallLogFragment.java
index 13d2e6c..79e9ae5 100644
--- a/src/com/android/contacts/calllog/CallLogFragment.java
+++ b/src/com/android/contacts/calllog/CallLogFragment.java
@@ -287,7 +287,16 @@
             mCallerIdThread.start();
         }
 
+        /**
+         * Stops the background thread that processes updates and cancels any pending requests to
+         * start it.
+         * <p>
+         * Should be called from the main thread to prevent a race condition between the request to
+         * start the thread being processed and stopping the thread.
+         */
         public void stopRequestProcessing() {
+            // Remove any pending requests to start the processing thread.
+            mHandler.removeMessages(START_THREAD);
             mDone = true;
             if (mCallerIdThread != null) mCallerIdThread.interrupt();
         }