diff --git a/src/com/android/server/telecom/CallIntentProcessor.java b/src/com/android/server/telecom/CallIntentProcessor.java
index a6840b9..ea9402e 100644
--- a/src/com/android/server/telecom/CallIntentProcessor.java
+++ b/src/com/android/server/telecom/CallIntentProcessor.java
@@ -64,9 +64,6 @@
             Context context,
             CallsManager callsManager,
             Intent intent) {
-        if (shouldPreventDuplicateVideoCall(context, callsManager, intent)) {
-            return;
-        }
 
         Uri handle = intent.getData();
         String scheme = handle.getScheme();
@@ -178,31 +175,4 @@
             context.startActivityAsUser(errorIntent, UserHandle.CURRENT);
         }
     }
-
-    /**
-     * Whether an outgoing video call should be prevented from going out. Namely, don't allow an
-     * outgoing video call if there is already an ongoing video call. Notify the user if their call
-     * is not sent.
-     *
-     * @return {@code true} if the outgoing call is a video call and should be prevented from going
-     *     out, {@code false} otherwise.
-     */
-    private static boolean shouldPreventDuplicateVideoCall(
-            Context context,
-            CallsManager callsManager,
-            Intent intent) {
-        int intentVideoState = intent.getIntExtra(TelecomManager.EXTRA_START_CALL_WITH_VIDEO_STATE,
-                VideoProfile.STATE_AUDIO_ONLY);
-        if (VideoProfile.isAudioOnly(intentVideoState)
-                || !callsManager.hasVideoCall()) {
-            return false;
-        } else {
-            // Display an error toast to the user.
-            Toast.makeText(
-                    context,
-                    context.getResources().getString(R.string.duplicate_video_call_not_allowed),
-                    Toast.LENGTH_LONG).show();
-            return true;
-        }
-    }
 }
