diff --git a/src/com/android/telecomm/CallServiceRepository.java b/src/com/android/telecomm/CallServiceRepository.java
index 510db49..f73beda 100644
--- a/src/com/android/telecomm/CallServiceRepository.java
+++ b/src/com/android/telecomm/CallServiceRepository.java
@@ -154,14 +154,10 @@
         }
 
         int providerCount = providerNames.size();
-        int outstandingProviderCount = mOutstandingProviders.size();
+        Log.i(TAG, "Found " + providerCount + " implementations of ICallServiceProvider.");
 
-        Log.i(TAG, "Found " + providerCount + " implementations of ICallServiceProvider, "
-                + outstandingProviderCount + " of which are not currently processed.");
-
-        if (outstandingProviderCount == 0) {
-            // All known (provider) implementations are already processed, pass control
-            // back to the switchboard.
+        if (providerCount == 0) {
+            // Nothing to process, pass control back to the switchboard.
             updateSwitchboard();
         } else {
             // Schedule a lookup terminator to run after LOOKUP_TIMEOUT_MS milliseconds.
diff --git a/src/com/android/telecomm/IncomingCallsManager.java b/src/com/android/telecomm/IncomingCallsManager.java
index 941c248..063469d 100644
--- a/src/com/android/telecomm/IncomingCallsManager.java
+++ b/src/com/android/telecomm/IncomingCallsManager.java
@@ -56,7 +56,6 @@
         mSwitchboard = switchboard;
     }
 
-
     /**
      * Confirms the existence of an incoming call with the specified call service (asynchronously).
      * Starts the timeout sequence in case the call service is unresponsive.
diff --git a/src/com/android/telecomm/Switchboard.java b/src/com/android/telecomm/Switchboard.java
index 6afadb8..70795d5 100644
--- a/src/com/android/telecomm/Switchboard.java
+++ b/src/com/android/telecomm/Switchboard.java
@@ -119,8 +119,7 @@
 
         mNewOutgoingCalls.add(call);
 
-        // We initialize a lookup every time because between calls the set of available call
-        // services can change between calls.
+        // Initiate a lookup every time to account for newly-installed apps and/or updated settings.
         mLookupId++;
         mCallServiceRepository.initiateLookup(mLookupId);
         mSelectorRepository.initiateLookup(mLookupId);
diff --git a/src/com/android/telecomm/TelecommReceiver.java b/src/com/android/telecomm/TelecommReceiver.java
index c98de88..342ef20 100644
--- a/src/com/android/telecomm/TelecommReceiver.java
+++ b/src/com/android/telecomm/TelecommReceiver.java
@@ -26,6 +26,9 @@
 
 /**
  * Receiver for public intents relating to Telecomm.
+ *
+ * TODO(gilad): Unify the incoming/outgoing approach to use startActivity in both cases thereby
+ * eliminating the incoming logic below, as well as this class as a whole.
  */
 public class TelecommReceiver extends BroadcastReceiver {
 
