diff --git a/app/src/main/java/se/leap/bitmaskclient/Dashboard.java b/app/src/main/java/se/leap/bitmaskclient/Dashboard.java
index 861ce801ffa0ba3eeae6f9f2efb14bda8f401ae7..755aaf33fa77af96f27b2940ce84e2a09cf00d3e 100644
--- a/app/src/main/java/se/leap/bitmaskclient/Dashboard.java
+++ b/app/src/main/java/se/leap/bitmaskclient/Dashboard.java
@@ -408,13 +408,21 @@ public class Dashboard extends Activity implements ProviderAPIResultReceiver.Rec
     private void switchProvider() {
         if (provider.hasEIP()) eip_fragment.stopEipIfPossible();
 
+        clearDataOfLastProvider();
+
+        switching_provider = false;
+        startActivityForResult(new Intent(this, ConfigurationWizard.class), SWITCH_PROVIDER);
+    }
+
+    private void clearDataOfLastProvider() {
         Map<String, ?> allEntries = preferences.getAll();
         List<String> lastProvidersKeys = new ArrayList<>();
         for (Map.Entry<String, ?> entry : allEntries.entrySet()) {
             //sort out all preferences that don't belong to the last provider
             if (entry.getKey().startsWith(Provider.KEY + ".") ||
                     entry.getKey().startsWith(Provider.CA_CERT + ".") ||
-                    entry.getKey().startsWith(Provider.CA_CERT_FINGERPRINT + ".")
+                    entry.getKey().startsWith(Provider.CA_CERT_FINGERPRINT + "." )||
+                    entry.getKey().equals(Constants.PREFERENCES_APP_VERSION)
                     ) {
                 continue;
             }
@@ -427,8 +435,6 @@ public class Dashboard extends Activity implements ProviderAPIResultReceiver.Rec
         }
         preferenceEditor.apply();
 
-        switching_provider = false;
-        startActivityForResult(new Intent(this, ConfigurationWizard.class), SWITCH_PROVIDER);
     }
 
     @Override
diff --git a/app/src/main/java/se/leap/bitmaskclient/StartActivity.java b/app/src/main/java/se/leap/bitmaskclient/StartActivity.java
index 2bfe650ab754951949fe85ed5b48b43c9e5cfad0..ec972a75e56a78db3c90fb6d1fa8aceeaf47e561 100644
--- a/app/src/main/java/se/leap/bitmaskclient/StartActivity.java
+++ b/app/src/main/java/se/leap/bitmaskclient/StartActivity.java
@@ -48,6 +48,7 @@ public class StartActivity extends Activity {
                 break;
 
             case FIRST:
+                storeAppVersion();
                 // TODO start ProfileCreation & replace below code
                 break;
 
@@ -120,7 +121,7 @@ public class StartActivity extends Activity {
         }
 
         // ensure all upgrades have passed before storing new information
-        preferences.edit().putInt(Constants.PREFERENCES_APP_VERSION, versionCode).apply();
+        storeAppVersion();
     }
 
     /**
@@ -132,4 +133,8 @@ public class StartActivity extends Activity {
         return previousVersionCode < featureVersionCode && versionCode >= featureVersionCode;
     }
 
+    private void storeAppVersion() {
+        preferences.edit().putInt(Constants.PREFERENCES_APP_VERSION, versionCode).apply();
+    }
+
 }