diff --git a/common/src/com/android/services/telephony/common/Call.java b/common/src/com/android/services/telephony/common/Call.java
index 09874d5..0b4abb7 100644
--- a/common/src/com/android/services/telephony/common/Call.java
+++ b/common/src/com/android/services/telephony/common/Call.java
@@ -49,9 +49,9 @@
      * Defines a set of capabilities that a call can have as a bit mask.
      */
     public static class Capabilities {
-        public static final int MERGE = 0x00000001;    /* has ability to merge with another call. */
+        public static final int HOLD = 0x00000001;    /* has ability to hold the call */
 
-        public static final int ALL = MERGE;
+        public static final int ALL = HOLD;
     }
 
     /**
diff --git a/src/com/android/phone/CallModeler.java b/src/com/android/phone/CallModeler.java
index 7f0c5c5..dcd11f7 100644
--- a/src/com/android/phone/CallModeler.java
+++ b/src/com/android/phone/CallModeler.java
@@ -30,7 +30,9 @@
 import com.android.internal.telephony.CallManager;
 import com.android.internal.telephony.Connection;
 import com.android.internal.telephony.PhoneConstants;
+import com.android.internal.telephony.TelephonyCapabilities;
 import com.android.services.telephony.common.Call;
+import com.android.services.telephony.common.Call.Capabilities;
 import com.android.services.telephony.common.Call.State;
 
 import java.util.ArrayList;
@@ -262,9 +264,30 @@
             changed = true;
         }
 
+        final int newCapabilities = getCapabilitiesFor(connection);
+        if (call.getCapabilities() != newCapabilities) {
+            call.setCapabilities(newCapabilities);
+            changed = true;
+        }
+
         return changed;
     }
 
+    /**
+     * Returns a mask of capabilities for the connection such as merge, hold, etc.
+     */
+    private int getCapabilitiesFor(Connection connection) {
+        int retval = 0x0;
+
+        final boolean hold = TelephonyCapabilities.supportsAnswerAndHold(connection.getCall().getPhone());
+
+        if (hold) {
+            retval |= Capabilities.HOLD;
+        }
+
+        return retval;
+    }
+
     private int translateStateFromTelephony(com.android.internal.telephony.Call.State teleState) {
         int retval = State.IDLE;
         switch (teleState) {
