diff --git a/src/com/android/settings/homepage/contextualcards/CardContentProvider.java b/src/com/android/settings/homepage/contextualcards/CardContentProvider.java
index 75ec651..7ad5506 100644
--- a/src/com/android/settings/homepage/contextualcards/CardContentProvider.java
+++ b/src/com/android/settings/homepage/contextualcards/CardContentProvider.java
@@ -65,11 +65,8 @@
         URI_MATCHER.addURI(CARD_AUTHORITY, CardDatabaseHelper.CARD_TABLE, MATCH_CARDS);
     }
 
-    private CardDatabaseHelper mDBHelper;
-
     @Override
     public boolean onCreate() {
-        mDBHelper = CardDatabaseHelper.getInstance(getContext());
         return true;
     }
 
@@ -84,7 +81,8 @@
     public int bulkInsert(Uri uri, ContentValues[] values) {
         final StrictMode.ThreadPolicy oldPolicy = StrictMode.getThreadPolicy();
         int numInserted = 0;
-        final SQLiteDatabase database = mDBHelper.getWritableDatabase();
+        final CardDatabaseHelper DBHelper = CardDatabaseHelper.getInstance(getContext());
+        final SQLiteDatabase database = DBHelper.getWritableDatabase();
         final boolean keepDismissalTimestampBeforeDeletion = getContext().getResources()
                 .getBoolean(R.bool.config_keep_contextual_card_dismissal_timestamp);
         final Map<String, Long> dismissedTimeMap = new ArrayMap<>();
@@ -168,7 +166,8 @@
             final SQLiteQueryBuilder queryBuilder = new SQLiteQueryBuilder();
             final String table = getTableFromMatch(uri);
             queryBuilder.setTables(table);
-            final SQLiteDatabase database = mDBHelper.getReadableDatabase();
+            final CardDatabaseHelper DBHelper = CardDatabaseHelper.getInstance(getContext());
+            final SQLiteDatabase database = DBHelper.getReadableDatabase();
             final Cursor cursor = queryBuilder.query(database,
                     projection, selection, selectionArgs, null /* groupBy */, null /* having */,
                     sortOrder);
