diff --git a/src/com/android/settings/vpn2/ConfigDialogFragment.java b/src/com/android/settings/vpn2/ConfigDialogFragment.java
index a6189a9..d145ba3 100644
--- a/src/com/android/settings/vpn2/ConfigDialogFragment.java
+++ b/src/com/android/settings/vpn2/ConfigDialogFragment.java
@@ -107,7 +107,7 @@
         if (button == DialogInterface.BUTTON_POSITIVE) {
             // Update KeyStore entry
             KeyStore.getInstance().put(Credentials.VPN + profile.key, profile.encode(),
-                    KeyStore.UID_SELF, KeyStore.FLAG_ENCRYPTED);
+                    KeyStore.UID_SELF, /* flags */ 0);
 
             // Flush out old version of profile
             disconnect(profile);
diff --git a/src/com/android/settings/vpn2/LockdownConfigFragment.java b/src/com/android/settings/vpn2/LockdownConfigFragment.java
index 581b55d..d60cebc 100644
--- a/src/com/android/settings/vpn2/LockdownConfigFragment.java
+++ b/src/com/android/settings/vpn2/LockdownConfigFragment.java
@@ -64,9 +64,6 @@
     }
 
     private static String getStringOrNull(KeyStore keyStore, String key) {
-        if (!keyStore.isUnlocked()) {
-            return null;
-        }
         final byte[] value = keyStore.get(key);
         return value == null ? null : new String(value);
     }
@@ -122,7 +119,7 @@
                         return;
                     }
                     keyStore.put(Credentials.LOCKDOWN_VPN, profile.key.getBytes(),
-                            KeyStore.UID_SELF, KeyStore.FLAG_ENCRYPTED);
+                            KeyStore.UID_SELF, /* flags */ 0);
                 }
 
                 // kick profiles since we changed them
diff --git a/src/com/android/settings/vpn2/VpnSettings.java b/src/com/android/settings/vpn2/VpnSettings.java
index 00f6a12..40b05c5 100644
--- a/src/com/android/settings/vpn2/VpnSettings.java
+++ b/src/com/android/settings/vpn2/VpnSettings.java
@@ -456,13 +456,6 @@
     protected static List<VpnProfile> loadVpnProfiles(KeyStore keyStore, int... excludeTypes) {
         final ArrayList<VpnProfile> result = Lists.newArrayList();
 
-        // This might happen if the user does not yet have a keystore. Quietly short-circuit because
-        // no keystore means no VPN configs.
-        if (!keyStore.isUnlocked()) {
-            return result;
-        }
-
-        // We are the only user of profiles in KeyStore so no locks are needed.
         for (String key : keyStore.list(Credentials.VPN)) {
             final VpnProfile profile = VpnProfile.decode(key, keyStore.get(Credentials.VPN + key));
             if (profile != null && !ArrayUtils.contains(excludeTypes, profile.type)) {
