diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 2e71e39..a18fabe 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -2,8 +2,8 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
           xmlns:tools="http://schemas.android.com/tools"
           package="com.fairphone.updater"
-    android:versionCode="34"
-    android:versionName="34" >
+    android:versionCode="35"
+    android:versionName="35" >
 
     <uses-sdk
         android:minSdkVersion="17"
diff --git a/app/src/main/java/com/fairphone/updater/fragments/ConfirmationPopupDialog.java b/app/src/main/java/com/fairphone/updater/fragments/ConfirmationPopupDialog.java
index f5eab9b..7fcfd91 100644
--- a/app/src/main/java/com/fairphone/updater/fragments/ConfirmationPopupDialog.java
+++ b/app/src/main/java/com/fairphone/updater/fragments/ConfirmationPopupDialog.java
@@ -33,10 +33,9 @@
     private final DetailLayoutType mLayoutType;
     private Button mOkButton;
 	private final boolean mIsOSChange;
-    private final boolean mIsOlderVersion;
     private final boolean mHasEraseAllDataWarning;
 
-    public ConfirmationPopupDialog(String version, boolean isOSChange, boolean isOlderVersion, boolean hasEraseAllDataWarning, DetailLayoutType layoutType,
+    public ConfirmationPopupDialog(String version, boolean isOSChange, boolean hasEraseAllDataWarning, DetailLayoutType layoutType,
             ConfirmationPopupDialogListener callback)
     {
         // Empty constructor required for DialogFragment
@@ -46,7 +45,6 @@
         mCallback = callback;
         mLayoutType = layoutType;
         mIsOSChange = isOSChange;
-        mIsOlderVersion = isOlderVersion;
         mHasEraseAllDataWarning = hasEraseAllDataWarning;
     }
 
@@ -81,10 +79,6 @@
         {
             versionTypeText.setText(R.string.a_different_os_from_the_current);
         }
-        else if (mIsOlderVersion)
-        {
-            versionTypeText.setText(R.string.an_older_version_of_os);
-        }
 
         TextView eraseAllDataWarning = (TextView) view.findViewById(R.id.erase_all_data_warning_text);
 
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 1dcfb0a..2761fe8 100644
--- a/app/src/main/java/com/fairphone/updater/fragments/VersionDetailFragment.java
+++ b/app/src/main/java/com/fairphone/updater/fragments/VersionDetailFragment.java
@@ -57,7 +57,6 @@
     private DownloadManager mDownloadManager;
     private DetailLayoutType mDetailLayoutType;
     private boolean mIsOSChange;
-    private boolean mIsOlderVersion;
     private Store mSelectedStore;
     private final boolean mIsVersion;
 
@@ -240,35 +239,28 @@
                 mHeaderText = resources.getString(R.string.install_update);
                 mVersionDetailsTitle = resources.getString(R.string.update_version);
                 mIsOSChange = false;
-                mIsOlderVersion = false;
                 break;
 
             case ANDROID:
                 mHeaderText = mSelectedVersion.getHumanReadableName();
                 mVersionDetailsTitle = resources.getString(R.string.new_os);
                 mIsOSChange = deviceVersion.getImageType().equalsIgnoreCase(Version.IMAGE_TYPE_FAIRPHONE);
-                mIsOlderVersion =
-                        (deviceVersion.getImageType().equalsIgnoreCase(Version.IMAGE_TYPE_AOSP) && deviceVersion.isNewerVersionThan(mSelectedVersion));
                 break;
             case APP_STORE:
                 mHeaderText = FairphoneUpdater.getStoreName(mSelectedStore);
                 mVersionDetailsTitle = resources.getString(R.string.install);
                 mIsOSChange = false;
-                mIsOlderVersion = false;
                 break;
             case LATEST_FAIRPHONE:
                 mHeaderText = mSelectedVersion.getHumanReadableName();
                 mVersionDetailsTitle = resources.getString(R.string.latest_version);
                 mIsOSChange = deviceVersion.getImageType().equalsIgnoreCase(Version.IMAGE_TYPE_AOSP);
-                mIsOlderVersion = false;
                 break;
             case FAIRPHONE:
             default:
                 mHeaderText = mSelectedVersion.getHumanReadableName();
-                mVersionDetailsTitle = resources.getString(R.string.older_version);
+                mVersionDetailsTitle = resources.getString(R.string.additional_download);
                 mIsOSChange = deviceVersion.getImageType().equalsIgnoreCase(Version.IMAGE_TYPE_AOSP);
-                mIsOlderVersion =
-                        (deviceVersion.getImageType().equalsIgnoreCase(Version.IMAGE_TYPE_FAIRPHONE) && deviceVersion.isNewerVersionThan(mSelectedVersion));
                 break;
         }
     }
@@ -406,7 +398,7 @@
     {
         FragmentManager fm = getActivity().getSupportFragmentManager();
         ConfirmationPopupDialog popupDialog =
-                new ConfirmationPopupDialog(version, mIsOSChange, mIsOlderVersion, hasEraseAllDataWarning, mDetailLayoutType, listener);
+                new ConfirmationPopupDialog(version, mIsOSChange, hasEraseAllDataWarning, mDetailLayoutType, listener);
         popupDialog.show(fm, version);
     }
 
@@ -414,7 +406,7 @@
     {
         if (mIsVersion && mSelectedVersion != null)
         {
-            if (mIsOSChange || mIsOlderVersion)
+            if (mIsOSChange)
             {
                 showPopupDialog(mSelectedVersion.getHumanReadableName(), mSelectedVersion.hasEraseAllPartitionWarning(),
                         new ConfirmationPopupDialogListener()
diff --git a/app/src/main/res/layout/fragment_other_os_options_android_list.xml b/app/src/main/res/layout/fragment_other_os_options_android_list.xml
index 4ff987e..e4343b3 100644
--- a/app/src/main/res/layout/fragment_other_os_options_android_list.xml
+++ b/app/src/main/res/layout/fragment_other_os_options_android_list.xml
@@ -48,7 +48,7 @@
             android:layout_height="wrap_content"
             android:layout_marginBottom="@dimen/main_padding_small"
             android:layout_marginTop="@dimen/main_padding"
-            android:text="@string/older_versions"/>
+            android:text="@string/additional_downloads"/>
 
         <ScrollView
             android:id="@+id/version_list_scroll"
diff --git a/app/src/main/res/layout/fragment_other_os_options_fairphone_list.xml b/app/src/main/res/layout/fragment_other_os_options_fairphone_list.xml
index ef265ab..a840fb6 100644
--- a/app/src/main/res/layout/fragment_other_os_options_fairphone_list.xml
+++ b/app/src/main/res/layout/fragment_other_os_options_fairphone_list.xml
@@ -49,7 +49,7 @@
             android:layout_height="wrap_content"
             android:layout_marginBottom="@dimen/main_padding_small"
             android:layout_marginTop="@dimen/main_padding"
-            android:text="@string/older_versions"/>
+            android:text="@string/additional_downloads"/>
 
         <ScrollView
             android:id="@+id/version_list_scroll"
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 4d7aa2e..468777e 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -38,10 +38,10 @@
     <string name="new_os">Neues Betriebssystem</string>
     <string name="no_space_available_cache_message">Kein Platz verfügbar im Cache</string>
     <string name="no_space_available_sd_card_message">Kein Platz verfügbar auf der SD Karte</string>
-    <string name="older_version">ältere Version</string>
+    <string name="additional_download">Weiterer Download</string>
     <string name="older_version_os_install_confirmation">Bist du sicher, dass du weitermachen willst?</string>
     <string name="older_version_os_install_confirmation_checkbox">Ich kenne und verstehe alle Konsequenzen dieser Installation</string>
-    <string name="older_versions">Andere Versionen</string>
+    <string name="additional_downloads">Weitere Downloads</string>
     <string name="os_update_has_started_message">Das Update hat begonnen. Dies kann ein wenig dauern, abhängig von der Gechwindigkeit deiner Internet Verbindung.</string>
     <string name="other_os_options">Betrete den fortgeschrittenen Modus</string>
     <string name="please_be_patient">Bitte gedulde dich noch ein wenig…</string>
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index 801385f..a00e737 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -38,10 +38,10 @@
     <string name="new_os">Nuevo sistema operativo</string>
     <string name="no_space_available_cache_message">No hay espacio disponible en /cache.</string>
     <string name="no_space_available_sd_card_message">No hay espacio disponible en la tarjeta SD.</string>
-    <string name="older_version">Versión Anterior</string>
+    <string name="additional_download">Descarga adicional</string>
     <string name="older_version_os_install_confirmation">¿Seguro que deseas continuar?</string>
     <string name="older_version_os_install_confirmation_checkbox">Comprendo y acepto las consecuencias de esta instalación.</string>
-    <string name="older_versions">Otras versiones</string>
+    <string name="additional_downloads">Descarga(s) adicionales</string>
     <string name="os_update_has_started_message">Actualización en proceso. Puede tardar unos minutos dependiendo de la velocidad de tu red.</string>
     <string name="other_os_options">Accede al modo avanzado</string>
     <string name="please_be_patient">Un momento, por favor…</string>
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 01c1eeb..9b7dd9a 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -38,10 +38,10 @@
     <string name="new_os">Nouveau système d’exploitation</string>
     <string name="no_space_available_cache_message">Pas d\'espace disponible dans le cache (/cache).</string>
     <string name="no_space_available_sd_card_message">Pas d\'espace disponible sur la carte SD.</string>
-    <string name="older_version">Version dépassée</string>
+    <string name="additional_download">Autre téléchargement</string>
     <string name="older_version_os_install_confirmation">Êtes-vous certain de vouloir continuer ?</string>
     <string name="older_version_os_install_confirmation_checkbox">Je comprends et j\'accepte toutes les implications de cette installation.</string>
-    <string name="older_versions">Autres versions</string>
+    <string name="additional_downloads">Autre(s) téléchargement(s)</string>
     <string name="os_update_has_started_message">La mise à jour a démarré. Selon la vitesse de votre connexion réseau, cette opération peut prendre un certain temps.</string>
     <string name="other_os_options">Passer en mode avancé</string>
     <string name="please_be_patient">Veuillez patienter…</string>
diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml
index 8898f22..522268f 100644
--- a/app/src/main/res/values-nl/strings.xml
+++ b/app/src/main/res/values-nl/strings.xml
@@ -38,10 +38,10 @@
     <string name="new_os">Nieuw besturingssysteem</string>
     <string name="no_space_available_cache_message">Geen ruimte beschikbaar in /cache</string>
     <string name="no_space_available_sd_card_message">Geen ruimte beschikbaar op de SD kaart</string>
-    <string name="older_version">Oudere versie</string>
+    <string name="additional_download">Overige download</string>
     <string name="older_version_os_install_confirmation">Weet je zeker dat je wilt doorgaan?</string>
     <string name="older_version_os_install_confirmation_checkbox">Ik ken en begrijp alle implicaties van het uitvoeren van deze installatie</string>
-    <string name="older_versions">Andere versies</string>
+    <string name="additional_downloads">Overige download(s)</string>
     <string name="os_update_has_started_message">De update is gestart. Dit kan enige tijd duren, afhankelijk van de snelheid van je netwerkverbinding.</string>
     <string name="other_os_options">Open de geavanceerde modus</string>
     <string name="please_be_patient">Een ogenblik geduld…</string>
diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml
index 8f3dcac..56dde2d 100644
--- a/app/src/main/res/values-pt/strings.xml
+++ b/app/src/main/res/values-pt/strings.xml
@@ -38,10 +38,10 @@
     <string name="new_os">Novo Sistema Operativo</string>
     <string name="no_space_available_cache_message">Sem espaço disponível em /cache. A abortar…</string>
     <string name="no_space_available_sd_card_message">Sem espaço disponível na memória. A abortar…</string>
-    <string name="older_version">Versão anterior</string>
+    <string name="additional_download">Download adicional</string>
     <string name="older_version_os_install_confirmation">Tem a certeza de que quer prosseguir?</string>
     <string name="older_version_os_install_confirmation_checkbox">Tomei conhecimento das implicações desta instalação</string>
-    <string name="older_versions">Outras versões</string>
+    <string name="additional_downloads">Downloads adicionais</string>
     <string name="os_update_has_started_message">A actualização foi iniciada. Isto pode levar algum tempo, dependendo da velocidade da sua ligação.</string>
     <string name="other_os_options">Entrar no modo avançado</string>
     <string name="please_be_patient">Por favor aguarde…</string>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index fa3fddb..abcddcb 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -39,10 +39,10 @@
     <string name="new_os">New operating system</string>
     <string name="no_space_available_cache_message">No space available on /cache.</string>
     <string name="no_space_available_sd_card_message">No space available on SD card.</string>
-    <string name="older_version">Older version</string>
+    <string name="additional_download">Additional download</string>
     <string name="older_version_os_install_confirmation">Are you sure you want to continue?</string>
     <string name="older_version_os_install_confirmation_checkbox">I know and understand all implications of performing this installation</string>
-    <string name="older_versions">Other versions</string>
+    <string name="additional_downloads">Additional download(s)</string>
     <string name="os_update_has_started_message">The update has started. This may take some time depending on your network connection speed.</string>
     <string name="other_os_options">Enter advanced mode</string>
     <string name="please_be_patient">Just a moment…</string>
