diff --git a/InCallUI/src/com/android/incallui/AnswerPresenter.java b/InCallUI/src/com/android/incallui/AnswerPresenter.java
index 1307a3e..6e1fb3c 100644
--- a/InCallUI/src/com/android/incallui/AnswerPresenter.java
+++ b/InCallUI/src/com/android/incallui/AnswerPresenter.java
@@ -18,11 +18,10 @@
 
 import android.content.Context;
 
+import com.android.dialer.compat.UserManagerCompat;
 import com.android.dialer.util.TelecomUtil;
 import com.android.incallui.InCallPresenter.InCallState;
 
-import android.telecom.VideoProfile;
-
 import java.util.List;
 
 /**
@@ -281,8 +280,8 @@
             return;
         }
         mHasTextMessages = textMsgs != null;
-        boolean withSms =
-                call.can(android.telecom.Call.Details.CAPABILITY_RESPOND_VIA_TEXT)
+        boolean withSms = UserManagerCompat.isUserUnlocked(getUi().getContext())
+                && call.can(android.telecom.Call.Details.CAPABILITY_RESPOND_VIA_TEXT)
                 && mHasTextMessages;
 
         // Only present the user with the option to answer as a video call if the incoming call is
diff --git a/InCallUI/src/com/android/incallui/CallButtonPresenter.java b/InCallUI/src/com/android/incallui/CallButtonPresenter.java
index 7e5f7c6..34298c3 100644
--- a/InCallUI/src/com/android/incallui/CallButtonPresenter.java
+++ b/InCallUI/src/com/android/incallui/CallButtonPresenter.java
@@ -35,6 +35,7 @@
 
 import com.android.contacts.common.compat.SdkVersionOverride;
 import com.android.dialer.compat.CallAudioStateCompat;
+import com.android.dialer.compat.UserManagerCompat;
 import com.android.incallui.AudioModeProvider.AudioModeListener;
 import com.android.incallui.InCallCameraManager.Listener;
 import com.android.incallui.InCallPresenter.CanAddCallListener;
@@ -378,7 +379,8 @@
                 && call.can(android.telecom.Call.Details.CAPABILITY_HOLD);
         final boolean isCallOnHold = call.getState() == Call.State.ONHOLD;
 
-        final boolean showAddCall = TelecomAdapter.getInstance().canAddCall(call);
+        final boolean showAddCall = TelecomAdapter.getInstance().canAddCall(call)
+                && UserManagerCompat.isUserUnlocked(ui.getContext());
         final boolean showMerge = call.can(
                 android.telecom.Call.Details.CAPABILITY_MERGE_CONFERENCE);
         final boolean showUpgradeToVideo = !isVideo && hasVideoCallCapabilities(call);
