diff --git a/app/src/main/java/org/fdroid/fdroid/data/App.java b/app/src/main/java/org/fdroid/fdroid/data/App.java
index 0dbe7af02..e53460ab3 100644
--- a/app/src/main/java/org/fdroid/fdroid/data/App.java
+++ b/app/src/main/java/org/fdroid/fdroid/data/App.java
@@ -112,6 +112,10 @@ public class App extends ValueObject implements Comparable<App> {
 
     public boolean uninstallable;
 
+    public static String getIconName(String packageName, int versionCode) {
+        return packageName + "_" + versionCode + ".png";
+    }
+
     @Override
     public int compareTo(App app) {
         return name.compareToIgnoreCase(app.name);
@@ -278,6 +282,7 @@ public class App extends ValueObject implements Comparable<App> {
                 + ", last updated on " + this.lastUpdated + ")</p>";
 
         this.name = (String) appInfo.loadLabel(pm);
+        this.icon = getIconName(packageName, packageInfo.versionCode);
 
         final Apk apk = new Apk();
         apk.versionName = packageInfo.versionName;
diff --git a/app/src/main/java/org/fdroid/fdroid/localrepo/LocalRepoManager.java b/app/src/main/java/org/fdroid/fdroid/localrepo/LocalRepoManager.java
index d5bcc0c08..f45a92656 100644
--- a/app/src/main/java/org/fdroid/fdroid/localrepo/LocalRepoManager.java
+++ b/app/src/main/java/org/fdroid/fdroid/localrepo/LocalRepoManager.java
@@ -3,7 +3,6 @@ package org.fdroid.fdroid.localrepo;
 import android.content.Context;
 import android.content.SharedPreferences;
 import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager;
 import android.content.res.AssetManager;
 import android.graphics.Bitmap;
@@ -274,8 +273,6 @@ public final class LocalRepoManager {
             if (!app.isValid()) {
                 return;
             }
-            PackageInfo packageInfo = pm.getPackageInfo(packageName, PackageManager.GET_META_DATA);
-            app.icon = getIconFile(packageName, packageInfo.versionCode).getName();
         } catch (PackageManager.NameNotFoundException | CertificateEncodingException | IOException e) {
             Log.e(TAG, "Error adding app to local repo", e);
             return;
@@ -324,7 +321,7 @@ public final class LocalRepoManager {
     }
 
     private File getIconFile(String packageName, int versionCode) {
-        return new File(iconsDir, packageName + "_" + versionCode + ".png");
+        return new File(iconsDir, App.getIconName(packageName, versionCode));
     }
 
     /**