diff --git a/app/src/main/java/com/fairphone/updater/FairphoneUpdater.java b/app/src/main/java/com/fairphone/updater/FairphoneUpdater.java
index 3a18116..53f7f30 100644
--- a/app/src/main/java/com/fairphone/updater/FairphoneUpdater.java
+++ b/app/src/main/java/com/fairphone/updater/FairphoneUpdater.java
@@ -635,7 +635,7 @@
         boolean update = false;
         if (mLatestVersion != null)
         {
-	        update = BETA_MODE_ENABLED || mLatestVersion.isNewerVersionThan(mDeviceVersion);
+	        update = mLatestVersion.isNewerVersionThan(mDeviceVersion);
         }
         return update;
     }
diff --git a/app/src/main/java/com/fairphone/updater/UpdaterService.java b/app/src/main/java/com/fairphone/updater/UpdaterService.java
index 052e2ca..378a41c 100644
--- a/app/src/main/java/com/fairphone/updater/UpdaterService.java
+++ b/app/src/main/java/com/fairphone/updater/UpdaterService.java
@@ -138,11 +138,6 @@
 
     private static void showReinstallAlert(Context context)
     {
-        if ( FairphoneUpdater.BETA_MODE_ENABLED )
-        {
-            return;
-        }
-
 	    NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
         
         //Intent notificationIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(context.getResources().getString(R.string.supportAppStoreUrl)));
@@ -152,7 +147,7 @@
         
         PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, 0);
 
-	NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context).setSmallIcon(R.drawable.updater_white)
+	    NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context).setSmallIcon(R.drawable.updater_white)
 			    .setContentTitle(context.getResources().getString(R.string.app_full_name))
 			    .setContentText(context.getResources().getString(R.string.appStoreReinstall))
 			    .setAutoCancel(true)
@@ -343,12 +338,6 @@
 
     private static void setNotification(Context currentContext)
     {
-
-        if ( FairphoneUpdater.BETA_MODE_ENABLED )
-        {
-            return;
-        }
-        
         Context context = currentContext.getApplicationContext();
 
         NotificationManager manager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
