diff --git a/app/src/main/java/org/fdroid/fdroid/installer/DefaultInstallerActivity.java b/app/src/main/java/org/fdroid/fdroid/installer/DefaultInstallerActivity.java
index 18defb767..b022369ad 100644
--- a/app/src/main/java/org/fdroid/fdroid/installer/DefaultInstallerActivity.java
+++ b/app/src/main/java/org/fdroid/fdroid/installer/DefaultInstallerActivity.java
@@ -89,7 +89,6 @@ public class DefaultInstallerActivity extends FragmentActivity {
         }
 
         Intent intent = new Intent();
-        intent.setData(uri);
 
         // Note regarding EXTRA_NOT_UNKNOWN_SOURCE:
         // works only when being installed as system-app
@@ -97,22 +96,25 @@ public class DefaultInstallerActivity extends FragmentActivity {
 
         if (Build.VERSION.SDK_INT < Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
             intent.setAction(Intent.ACTION_VIEW);
-            intent.setType("application/vnd.android.package-archive");
+            intent.setDataAndType(uri, "application/vnd.android.package-archive");
         } else if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
             intent.setAction(Intent.ACTION_INSTALL_PACKAGE);
+            intent.setData(uri);
             intent.putExtra(Intent.EXTRA_RETURN_RESULT, true);
             intent.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true);
             intent.putExtra(Intent.EXTRA_ALLOW_REPLACE, true);
         } else if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) {
             intent.setAction(Intent.ACTION_INSTALL_PACKAGE);
+            intent.setData(uri);
             intent.putExtra(Intent.EXTRA_RETURN_RESULT, true);
             intent.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true);
         } else { // Android N
             intent.setAction(Intent.ACTION_INSTALL_PACKAGE);
-            intent.putExtra(Intent.EXTRA_RETURN_RESULT, true);
-            intent.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true);
+            intent.setData(uri);
             // grant READ permission for this content Uri
             intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
+            intent.putExtra(Intent.EXTRA_RETURN_RESULT, true);
+            intent.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true);
         }
 
         try {