diff --git a/app/src/main/java/org/fdroid/fdroid/data/DBHelper.java b/app/src/main/java/org/fdroid/fdroid/data/DBHelper.java
index 7e60661b9..d61684dbe 100644
--- a/app/src/main/java/org/fdroid/fdroid/data/DBHelper.java
+++ b/app/src/main/java/org/fdroid/fdroid/data/DBHelper.java
@@ -228,6 +228,9 @@ public class DBHelper extends SQLiteOpenHelper {
      * Only used for testing. Not quite sure how to mock a singleton variable like this.
      */
     public static void clearDbHelperSingleton() {
+        if (instance != null) {
+            instance.close();
+        }
         instance = null;
     }
 
@@ -275,6 +278,12 @@ public class DBHelper extends SQLiteOpenHelper {
         }
     }
 
+    @Override
+    public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) {
+        super.onDowngrade(db, oldVersion, newVersion);
+        resetTransient(context);
+    }
+
     @Override
     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {