diff --git a/src/com/android/dialer/DialtactsActivity.java b/src/com/android/dialer/DialtactsActivity.java
index 60826a8..b40a5fc 100644
--- a/src/com/android/dialer/DialtactsActivity.java
+++ b/src/com/android/dialer/DialtactsActivity.java
@@ -1112,17 +1112,11 @@
 
     @Override
     public void onCallNumberDirectly(String phoneNumber, boolean isVideoCall) {
-        if (isVideoCall) {
-            //TODO: Dispatch intent with video call extras specified, then remove this toast.
-            Toast toast = Toast.makeText(getApplicationContext(),
-                    "Feature development in progress.", Toast.LENGTH_SHORT);
-            toast.show();
-            return;
-        }
-
         final PhoneAccount account = mAccountManager != null ?
                 mAccountManager.getCurrentAccount() : null;
-        Intent intent = CallUtil.getCallIntent(phoneNumber, getCallOrigin(), account);
+        Intent intent = isVideoCall ?
+                CallUtil.getVideoCallIntent(phoneNumber, getCallOrigin(), account) :
+                CallUtil.getCallIntent(phoneNumber, getCallOrigin(), account);
         DialerUtils.startActivityWithErrorToast(this, intent);
         mClearSearchOnPause = true;
     }
