diff --git a/app/src/main/java/org/fdroid/fdroid/AppDetails.java b/app/src/main/java/org/fdroid/fdroid/AppDetails.java
index 6785e52ea..aa96ab0a8 100644
--- a/app/src/main/java/org/fdroid/fdroid/AppDetails.java
+++ b/app/src/main/java/org/fdroid/fdroid/AppDetails.java
@@ -985,14 +985,8 @@ public class AppDetails extends AppCompatActivity implements ProgressListener, A
         boolean finished = false;
         switch (event.type) {
             case ApkDownloader.EVENT_ERROR:
-                final int res;
-                if (event.getData().getInt(ApkDownloader.EVENT_DATA_ERROR_TYPE) == ApkDownloader.ERROR_HASH_MISMATCH) {
-                    res = R.string.corrupt_download;
-                } else {
-                    res = R.string.details_notinstalled;
-                }
                 // this must be on the main UI thread
-                Toast.makeText(this, res, Toast.LENGTH_LONG).show();
+                Toast.makeText(this, R.string.details_notinstalled, Toast.LENGTH_LONG).show();
                 cleanUpFinishedDownload();
                 finished = true;
                 break;
diff --git a/app/src/main/java/org/fdroid/fdroid/ProgressListener.java b/app/src/main/java/org/fdroid/fdroid/ProgressListener.java
index a559ae141..b2f4f252b 100644
--- a/app/src/main/java/org/fdroid/fdroid/ProgressListener.java
+++ b/app/src/main/java/org/fdroid/fdroid/ProgressListener.java
@@ -29,10 +29,6 @@ public interface ProgressListener {
             this(type, NO_VALUE, NO_VALUE, null);
         }
 
-        public Event(String type, Bundle data) {
-            this(type, NO_VALUE, NO_VALUE, data);
-        }
-
         public Event(String type, int progress, int total, Bundle data) {
             this.type = type;
             this.progress = progress;
diff --git a/app/src/main/java/org/fdroid/fdroid/net/ApkDownloader.java b/app/src/main/java/org/fdroid/fdroid/net/ApkDownloader.java
index a8c76093c..105c13fda 100644
--- a/app/src/main/java/org/fdroid/fdroid/net/ApkDownloader.java
+++ b/app/src/main/java/org/fdroid/fdroid/net/ApkDownloader.java
@@ -27,10 +27,12 @@ import android.os.Bundle;
 import android.support.annotation.NonNull;
 import android.support.v4.content.LocalBroadcastManager;
 import android.util.Log;
+import android.widget.Toast;
 
 import org.fdroid.fdroid.Hasher;
 import org.fdroid.fdroid.Preferences;
 import org.fdroid.fdroid.ProgressListener;
+import org.fdroid.fdroid.R;
 import org.fdroid.fdroid.Utils;
 import org.fdroid.fdroid.compat.FileCompat;
 import org.fdroid.fdroid.data.Apk;
@@ -56,16 +58,9 @@ public class ApkDownloader implements AsyncDownloader.Listener {
 
     public static final String ACTION_STATUS = "apkDownloadStatus";
 
-    public static final int ERROR_HASH_MISMATCH = 101;
-
     private static final String EVENT_SOURCE_ID = "sourceId";
     private static long downloadIdCounter;
 
-    /**
-     * Used as a key to pass data through with an error event, explaining the type of event.
-     */
-    public static final String EVENT_DATA_ERROR_TYPE = "apkDownloadErrorType";
-
     @NonNull private final App app;
     @NonNull private final Apk curApk;
     @NonNull private final Context context;
@@ -208,12 +203,6 @@ public class ApkDownloader implements AsyncDownloader.Listener {
         sendProgressEvent(new ProgressListener.Event(type));
     }
 
-    private void sendError(int errorType) {
-        Bundle data = new Bundle(1);
-        data.putInt(EVENT_DATA_ERROR_TYPE, errorType);
-        sendProgressEvent(new Event(EVENT_ERROR, data));
-    }
-
     // TODO: Completely remove progress listener, only use broadcasts...
     private void sendProgressEvent(Event event) {
 
@@ -246,7 +235,8 @@ public class ApkDownloader implements AsyncDownloader.Listener {
     public void onDownloadComplete() {
 
         if (!verifyOrDelete(localFile)) {
-            sendError(ERROR_HASH_MISMATCH);
+            sendProgressEvent(new Event(EVENT_ERROR));
+            Toast.makeText(context, R.string.corrupt_download, Toast.LENGTH_LONG).show();
             return;
         }