diff --git a/app/src/main/java/org/fdroid/fdroid/data/CategoryProvider.java b/app/src/main/java/org/fdroid/fdroid/data/CategoryProvider.java
index 900237533..74e3209be 100644
--- a/app/src/main/java/org/fdroid/fdroid/data/CategoryProvider.java
+++ b/app/src/main/java/org/fdroid/fdroid/data/CategoryProvider.java
@@ -134,7 +134,7 @@ public class CategoryProvider extends FDroidProvider {
         MATCHER.addURI(getAuthority(), PATH_ALL_CATEGORIES, CODE_LIST);
     }
 
-    private static Uri getContentUri() {
+    static Uri getContentUri() {
         return Uri.parse("content://" + getAuthority());
     }
 
@@ -239,7 +239,9 @@ public class CategoryProvider extends FDroidProvider {
     @Override
     public Uri insert(@NonNull Uri uri, ContentValues values) {
         long rowId = db().insertOrThrow(getTableName(), null, values);
-        getContext().getContentResolver().notifyChange(AppProvider.getCanUpdateUri(), null);
+        // Don't try and notify listeners here, because it will instead happen when the TempAppProvider
+        // is committed (when the AppProvider and ApkProviders notify their listeners). There is no
+        // other time where categories get added (at time of writing) so this should be okay.
         return getCategoryIdUri(rowId);
     }
 
diff --git a/app/src/main/java/org/fdroid/fdroid/data/TempAppProvider.java b/app/src/main/java/org/fdroid/fdroid/data/TempAppProvider.java
index a1a339bda..296861008 100644
--- a/app/src/main/java/org/fdroid/fdroid/data/TempAppProvider.java
+++ b/app/src/main/java/org/fdroid/fdroid/data/TempAppProvider.java
@@ -253,6 +253,7 @@ public class TempAppProvider extends AppProvider {
 
             getContext().getContentResolver().notifyChange(AppProvider.getContentUri(), null);
             getContext().getContentResolver().notifyChange(ApkProvider.getContentUri(), null);
+            getContext().getContentResolver().notifyChange(CategoryProvider.getContentUri(), null);
         } finally {
             db.endTransaction();
             db.execSQL("DETACH DATABASE " + DB); // Can't be done in a transaction.