diff --git a/src/com/android/settings/sim/smartForwarding/DisableSmartForwardingTask.java b/src/com/android/settings/sim/smartForwarding/DisableSmartForwardingTask.java
index 7826522..d483dd1 100644
--- a/src/com/android/settings/sim/smartForwarding/DisableSmartForwardingTask.java
+++ b/src/com/android/settings/sim/smartForwarding/DisableSmartForwardingTask.java
@@ -19,6 +19,7 @@
 import static com.android.settings.sim.smartForwarding.SmartForwardingUtils.TAG;
 
 import android.telephony.CallForwardingInfo;
+import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
 import android.util.Log;
 
@@ -37,16 +38,29 @@
     @Override
     public void run() {
         for (int i = 0; i < tm.getActiveModemCount(); i++) {
-            if (callWaitingStatus != null) {
+            int subId = getSubId(i);
+            if (callWaitingStatus != null
+                    && subId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
                 Log.d(TAG, "Restore call waiting to " + callWaitingStatus[i]);
-                tm.setCallWaitingEnabled(callWaitingStatus[i], null, null);
+                tm.createForSubscriptionId(subId)
+                        .setCallWaitingEnabled(callWaitingStatus[i], null, null);
             }
 
             if (callForwardingInfo != null
-                    && callForwardingInfo[i] != null) {
+                    && callForwardingInfo[i] != null
+                    && subId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
                 Log.d(TAG, "Restore call forwarding to " + callForwardingInfo[i]);
-                tm.setCallForwarding(callForwardingInfo[i], null, null);
+                tm.createForSubscriptionId(subId)
+                        .setCallForwarding(callForwardingInfo[i], null, null);
             }
         }
     }
+
+    private int getSubId(int slotIndex) {
+        int[] subId = SubscriptionManager.getSubId(slotIndex);
+        if (subId != null && subId.length > 0) {
+            return subId[0];
+        }
+        return SubscriptionManager.INVALID_SUBSCRIPTION_ID;
+    }
 }
