diff --git a/java/com/android/bubble/Bubble.java b/java/com/android/bubble/Bubble.java
index e192e06..1b853cf 100644
--- a/java/com/android/bubble/Bubble.java
+++ b/java/com/android/bubble/Bubble.java
@@ -39,6 +39,9 @@
   /** Returns whether the bubble is currently visible */
   boolean isVisible();
 
+  /** Returns whether the bubble is currently dismissed */
+  boolean isDismissed();
+
   /**
    * Set the info for this Bubble to display
    *
diff --git a/java/com/android/bubble/stub/BubbleStub.java b/java/com/android/bubble/stub/BubbleStub.java
index 267f33f..2aa55a3 100644
--- a/java/com/android/bubble/stub/BubbleStub.java
+++ b/java/com/android/bubble/stub/BubbleStub.java
@@ -40,6 +40,11 @@
   }
 
   @Override
+  public boolean isDismissed() {
+    return false;
+  }
+
+  @Override
   public void setBubbleInfo(@NonNull BubbleInfo bubbleInfo) {}
 
   @Override
diff --git a/java/com/android/incallui/ReturnToCallController.java b/java/com/android/incallui/ReturnToCallController.java
index d5e6a10..0850e91 100644
--- a/java/com/android/incallui/ReturnToCallController.java
+++ b/java/com/android/incallui/ReturnToCallController.java
@@ -92,10 +92,10 @@
     endCall = createActionIntent(ReturnToCallActionReceiver.ACTION_END_CALL);
     fullScreen = createActionIntent(ReturnToCallActionReceiver.ACTION_RETURN_TO_CALL);
 
-    InCallPresenter.getInstance().addInCallUiListener(this);
-    CallList.getInstance().addListener(this);
     AudioModeProvider.getInstance().addListener(this);
     audioState = AudioModeProvider.getInstance().getAudioState();
+    InCallPresenter.getInstance().addInCallUiListener(this);
+    CallList.getInstance().addListener(this);
   }
 
   public void tearDown() {
@@ -186,7 +186,7 @@
       return;
     }
 
-    if ((bubble == null || !bubble.isVisible())
+    if ((bubble == null || !(bubble.isVisible() || bubble.isDismissed()))
         && getCall() != null
         && !InCallPresenter.getInstance().isShowingInCallUi()) {
       LogUtil.i("ReturnToCallController.onCallListChange", "going to show bubble");
