diff --git a/Common/src/com/googlecode/android_scripting/facade/tele/SubscriptionManagerFacade.java b/Common/src/com/googlecode/android_scripting/facade/tele/SubscriptionManagerFacade.java
index e070157..326b8d3 100644
--- a/Common/src/com/googlecode/android_scripting/facade/tele/SubscriptionManagerFacade.java
+++ b/Common/src/com/googlecode/android_scripting/facade/tele/SubscriptionManagerFacade.java
@@ -19,7 +19,7 @@
 import android.app.Service;
 import android.content.Context;
 import android.telephony.SubscriptionManager;
-import android.telephony.SubInfoRecord;
+import android.telephony.SubscriptionInfo;
 
 import com.googlecode.android_scripting.Log;
 import com.googlecode.android_scripting.facade.FacadeManager;
@@ -85,20 +85,20 @@
     }
 
     @Rpc(description = "Return a List of all Subscription Info Records")
-    public List<SubInfoRecord> subscriptionGetAllSubInfoList() {
-        return SubscriptionManager.getAllSubInfoList();
+    public List<SubscriptionInfo> subscriptionGetAllSubInfoList() {
+        return SubscriptionManager.getAllSubscriptionInfoList();
     }
 
     @Rpc(description = "Return a List of all Active Subscription Info Records")
-    public List<SubInfoRecord> subscriptionGetActiveSubInfoList() {
-        return SubscriptionManager.getActiveSubInfoList();
+    public List<SubscriptionInfo> subscriptionGetActiveSubInfoList() {
+        return SubscriptionManager.getActiveSubscriptionInfoList();
     }
 
     @Rpc(description = "Return the Subscription Info for a Particular Subscription ID")
-    public SubInfoRecord subscriptionGetSubInfoForSubscriber(
+    public SubscriptionInfo subscriptionGetSubInfoForSubscriber(
             @RpcParameter(name = "subId")
             Integer subId) {
-        return SubscriptionManager.getSubInfoForSubscriber(subId);
+        return SubscriptionManager.getSubscriptionInfoForSubscriber(subId);
     }
 
     @Rpc(description = "Set Data Roaming Enabled or Disabled for a particular Subscription ID")
diff --git a/Common/src/com/googlecode/android_scripting/jsonrpc/JsonBuilder.java b/Common/src/com/googlecode/android_scripting/jsonrpc/JsonBuilder.java
index 87fc4b3..e860d5a 100644
--- a/Common/src/com/googlecode/android_scripting/jsonrpc/JsonBuilder.java
+++ b/Common/src/com/googlecode/android_scripting/jsonrpc/JsonBuilder.java
@@ -59,7 +59,7 @@
 import android.telephony.SmsMessage;
 import android.telephony.SubscriptionManager;
 import android.telephony.gsm.GsmCellLocation;
-import android.telephony.SubInfoRecord;
+import android.telephony.SubscriptionInfo;
 import android.util.DisplayMetrics;
 import android.util.SparseArray;
 
@@ -186,8 +186,8 @@
         if (data instanceof PhoneAccountHandle) {
             return buildPhoneAccountHandle((PhoneAccountHandle) data);
         }
-        if (data instanceof SubInfoRecord) {
-            return buildSubscriptionInfoRecord((SubInfoRecord) data);
+        if (data instanceof SubscriptionInfo) {
+            return buildSubscriptionInfoRecord((SubscriptionInfo) data);
         }
         if (data instanceof DisplayMetrics) {
             return buildDisplayMetrics((DisplayMetrics) data);
@@ -562,7 +562,7 @@
         return msg;
     }
 
-    private static Object buildSubscriptionInfoRecord(SubInfoRecord data) throws JSONException {
+    private static Object buildSubscriptionInfoRecord(SubscriptionInfo data) throws JSONException {
         JSONObject msg = new JSONObject();
         msg.put("subscriptionId", data.getSubscriptionId());
         msg.put("iccId", data.getIccId());
