diff --git a/app/src/main/java/org/fdroid/fdroid/FDroidApp.java b/app/src/main/java/org/fdroid/fdroid/FDroidApp.java
index 8047e0d0a..04c101f37 100644
--- a/app/src/main/java/org/fdroid/fdroid/FDroidApp.java
+++ b/app/src/main/java/org/fdroid/fdroid/FDroidApp.java
@@ -233,6 +233,15 @@ public class FDroidApp extends Application {
         curTheme = Preferences.get().getTheme();
         Preferences.get().configureProxy();
 
+        // bug specific to exactly 5.0 makes it only work with the old index
+        // which includes an ugly, hacky workaround
+        // https://gitlab.com/fdroid/fdroidclient/issues/1014
+        if (Build.VERSION.SDK_INT == 21) {
+            Preferences p = Preferences.get();
+            p.setExpertMode(true);
+            p.setForceOldIndex(true);
+        }
+
         InstalledAppProviderService.compareToPackageManager(this);
         AppUpdateStatusService.scanDownloadedApks(this);
 
diff --git a/app/src/main/java/org/fdroid/fdroid/Preferences.java b/app/src/main/java/org/fdroid/fdroid/Preferences.java
index 60d6f7964..3d6b614e1 100644
--- a/app/src/main/java/org/fdroid/fdroid/Preferences.java
+++ b/app/src/main/java/org/fdroid/fdroid/Preferences.java
@@ -120,6 +120,10 @@ public final class Preferences implements SharedPreferences.OnSharedPreferenceCh
         return preferences.getBoolean(PREF_FORCE_OLD_INDEX, DEFAULT_FORCE_OLD_INDEX);
     }
 
+    public void setForceOldIndex(boolean flag) {
+        preferences.edit().putBoolean(PREF_FORCE_OLD_INDEX, flag).apply();
+    }
+
     /**
      * Whether to use the Privileged Installer, based on if it is installed.  Only the disabled
      * state is stored as a preference since the enabled state is based entirely on the presence
@@ -225,6 +229,10 @@ public final class Preferences implements SharedPreferences.OnSharedPreferenceCh
         return preferences.getBoolean(PREF_EXPERT, DEFAULT_EXPERT);
     }
 
+    public void setExpertMode(boolean flag) {
+        preferences.edit().putBoolean(PREF_EXPERT, flag).apply();
+    }
+
     public Theme getTheme() {
         return Theme.valueOf(preferences.getString(Preferences.PREF_THEME, Preferences.DEFAULT_THEME));
     }