diff --git a/src/com/android/providers/telephony/TelephonyProvider.java b/src/com/android/providers/telephony/TelephonyProvider.java
index 129be00..3eebc6a 100644
--- a/src/com/android/providers/telephony/TelephonyProvider.java
+++ b/src/com/android/providers/telephony/TelephonyProvider.java
@@ -148,7 +148,7 @@
     private static final boolean DBG = true;
     private static final boolean VDBG = false; // STOPSHIP if true
 
-    private static final int DATABASE_VERSION = 39 << 16;
+    private static final int DATABASE_VERSION = 40 << 16;
     private static final int URL_UNKNOWN = 0;
     private static final int URL_TELEPHONY = 1;
     private static final int URL_CURRENT = 2;
@@ -401,7 +401,8 @@
                 + SubscriptionManager.SUBSCRIPTION_TYPE + " INTEGER DEFAULT "
                 + SubscriptionManager.SUBSCRIPTION_TYPE_LOCAL_SIM + ","
                 + SubscriptionManager.WHITE_LISTED_APN_DATA + " INTEGER DEFAULT 0,"
-                + SubscriptionManager.GROUP_OWNER + " TEXT"
+                + SubscriptionManager.GROUP_OWNER + " TEXT,"
+                + SubscriptionManager.DATA_ENABLED_OVERRIDE_RULES + " TEXT"
                 + ");";
     }
 
@@ -1320,6 +1321,20 @@
                 oldVersion = 39 << 16 | 6;
             }
 
+            if (oldVersion < (40 << 16 | 6)) {
+                try {
+                    // Try to update the siminfo table. It might not be there.
+                    db.execSQL("ALTER TABLE " + SIMINFO_TABLE + " ADD COLUMN "
+                            + SubscriptionManager.DATA_ENABLED_OVERRIDE_RULES + " TEXT;");
+                } catch (SQLiteException e) {
+                    if (DBG) {
+                        log("onUpgrade skipping " + SIMINFO_TABLE + " upgrade. " +
+                                "The table will get created in onOpen.");
+                    }
+                }
+                oldVersion = 40 << 16 | 6;
+            }
+
             if (DBG) {
                 log("dbh.onUpgrade:- db=" + db + " oldV=" + oldVersion + " newV=" + newVersion);
             }
diff --git a/tests/src/com/android/providers/telephony/CarrierIdProviderTest.java b/tests/src/com/android/providers/telephony/CarrierIdProviderTest.java
index e5dd6e6..bc39260 100644
--- a/tests/src/com/android/providers/telephony/CarrierIdProviderTest.java
+++ b/tests/src/com/android/providers/telephony/CarrierIdProviderTest.java
@@ -148,6 +148,9 @@
         mContext = new MockContextWithProvider(mCarrierIdProviderTestable);
         mContentResolver = mContext.getContentResolver();
         mContentObserver = new FakeContentObserver(null);
+
+        doReturn("").when(mSubController).getDataEnabledOverrideRules(anyInt());
+
         Field field = SubscriptionController.class.getDeclaredField("sInstance");
         field.setAccessible(true);
         field.set(null, mSubController);
