diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 86ec7eb..593f8c6 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -25,6 +25,7 @@
     <uses-permission android:name="android.permission.ACCESS_CACHE_FILESYSTEM"
                      tools:ignore="ProtectedPermissions"/>
     <uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER_ADVANCED" />
+    <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
 
     <application
         android:allowBackup="true"
diff --git a/app/src/main/java/com/fairphone/updater/UpdaterService.java b/app/src/main/java/com/fairphone/updater/UpdaterService.java
index 67eb847..a2e85da 100644
--- a/app/src/main/java/com/fairphone/updater/UpdaterService.java
+++ b/app/src/main/java/com/fairphone/updater/UpdaterService.java
@@ -380,7 +380,7 @@
         try
         {
             request = new Request(Uri.parse(url));
-	        final File externalStoragePublicDirectory = Environment.getExternalStoragePublicDirectory(Environment.getExternalStorageDirectory() + resources.getString(R.string.updaterFolder));
+            final File externalStoragePublicDirectory = new File(Environment.getExternalStorageDirectory() + resources.getString(R.string.updaterFolder));
 	        final boolean notMkDirs = !externalStoragePublicDirectory.mkdirs();
 	        if(notMkDirs && !externalStoragePublicDirectory.exists()) {
 		        throw new Exception("Couldn't create updater dir structures.");
diff --git a/app/src/main/java/com/fairphone/updater/fragments/VersionDetailFragment.java b/app/src/main/java/com/fairphone/updater/fragments/VersionDetailFragment.java
index 2761fe8..71a6f06 100644
--- a/app/src/main/java/com/fairphone/updater/fragments/VersionDetailFragment.java
+++ b/app/src/main/java/com/fairphone/updater/fragments/VersionDetailFragment.java
@@ -273,7 +273,7 @@
         try
         {
             request = new Request(Uri.parse(url));
-	        final File externalStoragePublicDirectory = Environment.getExternalStoragePublicDirectory(Environment.getExternalStorageDirectory() + resources.getString(R.string.updaterFolder));
+            final File externalStoragePublicDirectory = new File(Environment.getExternalStorageDirectory() + resources.getString(R.string.updaterFolder));
 	        final boolean notMkDirs = !externalStoragePublicDirectory.mkdirs();
 	        if(notMkDirs && !externalStoragePublicDirectory.exists()) {
 		        throw new Exception("Couldn't create updater dir structures.");
diff --git a/app/src/main/java/com/fairphone/updater/gappsinstaller/GappsInstallerHelper.java b/app/src/main/java/com/fairphone/updater/gappsinstaller/GappsInstallerHelper.java
index 49cba1f..2053dd3 100644
--- a/app/src/main/java/com/fairphone/updater/gappsinstaller/GappsInstallerHelper.java
+++ b/app/src/main/java/com/fairphone/updater/gappsinstaller/GappsInstallerHelper.java
@@ -23,8 +23,6 @@
 import com.fairphone.updater.tools.Utils;
 import com.fairphone.updater.widgets.gapps.GoogleAppsInstallerWidget;
 
-import java.io.File;
-
 public class GappsInstallerHelper
 {
     public static final String PREFS_GOOGLE_APPS_INSTALLER_DATA = "FAIRPHONE_GOOGLE_APPS_INSTALLER_DATA";
@@ -37,7 +35,7 @@
 
     public static boolean areGappsInstalled()
     {
-        return Utils.fileExists("/system/app/OneTimeInitializer.apk");
+        return Utils.fileExists("/system/app/OneTimeInitializer.apk") || Utils.fileExists("/system/priv-app/GoogleOneTimeInitializer.apk");
     }
 
     public static void checkGappsAreInstalled(Context context)
