diff --git a/java/com/android/dialer/precall/impl/CallingAccountSelector.java b/java/com/android/dialer/precall/impl/CallingAccountSelector.java
index 8d3df23..5d928b4 100644
--- a/java/com/android/dialer/precall/impl/CallingAccountSelector.java
+++ b/java/com/android/dialer/precall/impl/CallingAccountSelector.java
@@ -54,6 +54,7 @@
 import com.android.dialer.preferredsim.PreferredSimFallbackContract.PreferredSim;
 import com.android.dialer.preferredsim.suggestion.SimSuggestionComponent;
 import com.android.dialer.preferredsim.suggestion.SuggestionProvider.Suggestion;
+import com.android.dialer.telecom.TelecomUtil;
 import com.google.common.base.Optional;
 import java.util.ArrayList;
 import java.util.List;
@@ -87,6 +88,17 @@
     if (accounts.size() <= 1) {
       return false;
     }
+
+    if (TelecomUtil.isInManagedCall(context)) {
+      // Most devices are DSDS (dual SIM dual standby) which only one SIM can have active calls at
+      // a time. Telecom will ignore the phone account handle and use the current active SIM, thus
+      // there's no point of selecting SIMs
+      // TODO(a bug): let the user know selections are not available and preferred SIM is not
+      // used
+      // TODO(twyen): support other dual SIM modes when the API is exposed.
+      return false;
+    }
+
     return true;
   }
 
diff --git a/java/com/android/incallui/CallButtonPresenter.java b/java/com/android/incallui/CallButtonPresenter.java
index 6b7eb9b..bd3ba6d 100644
--- a/java/com/android/incallui/CallButtonPresenter.java
+++ b/java/com/android/incallui/CallButtonPresenter.java
@@ -464,7 +464,11 @@
             && call.getState() != DialerCall.State.CONNECTING;
 
     mOtherAccount = TelecomUtil.getOtherAccount(getContext(), call.getAccountHandle());
-    boolean showSwapSim = mOtherAccount != null && DialerCall.State.isDialing(call.getState());
+    boolean showSwapSim =
+        mOtherAccount != null
+            && DialerCall.State.isDialing(call.getState())
+            // Most devices cannot make calls on 2 SIMs at the same time.
+            && InCallPresenter.getInstance().getCallList().getAllCalls().size() == 1;
 
     mInCallButtonUi.showButton(InCallButtonIds.BUTTON_AUDIO, true);
     mInCallButtonUi.showButton(InCallButtonIds.BUTTON_SWAP, showSwap);
