diff --git a/briar-android/src/main/java/org/briarproject/briar/android/account/LockManagerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/account/LockManagerImpl.java
index 494c0033b2b10da84e10bf9a0987bf81db89c51f..34b7b373dc146464f76e42af5d7630909bda0766 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/account/LockManagerImpl.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/account/LockManagerImpl.java
@@ -96,7 +96,7 @@ public class LockManagerImpl implements LockManager, Service, EventListener {
 	@Override
 	public void startService() {
 		// only load the setting here, because database isn't open before
-		loadLockableSetting();
+		loadSettings();
 	}
 
 	@Override
@@ -170,34 +170,33 @@ public class LockManagerImpl implements LockManager, Service, EventListener {
 	@Override
 	public void eventOccurred(Event event) {
 		if (event instanceof SettingsUpdatedEvent) {
-			SettingsUpdatedEvent e = (SettingsUpdatedEvent) event;
-			String namespace = e.getNamespace();
-			if (namespace.equals(SETTINGS_NAMESPACE)) {
-				loadLockableSetting();
+			SettingsUpdatedEvent s = (SettingsUpdatedEvent) event;
+			if (s.getNamespace().equals(SETTINGS_NAMESPACE)) {
+				applySettings(s.getSettings());
 			}
 		}
 	}
 
-	private void loadLockableSetting() {
+	private void loadSettings() {
 		dbExecutor.execute(() -> {
 			try {
-				Settings settings =
-						settingsManager.getSettings(SETTINGS_NAMESPACE);
-				// is the app lockable?
-				lockableSetting = settings.getBoolean(PREF_SCREEN_LOCK, false);
-				boolean newValue = hasScreenLock(appContext) && lockableSetting;
-				lockable.postValue(newValue);
-				// what is the timeout in minutes?
-				timeoutMinutes = settings.getInt(PREF_SCREEN_LOCK_TIMEOUT,
-						timeoutDefault);
+				applySettings(settingsManager.getSettings(SETTINGS_NAMESPACE));
 			} catch (DbException e) {
 				logException(LOG, WARNING, e);
-				lockableSetting = false;
-				lockable.postValue(false);
 			}
 		});
 	}
 
+	private void applySettings(Settings settings) {
+		// is the app lockable?
+		lockableSetting = settings.getBoolean(PREF_SCREEN_LOCK, false);
+		boolean newValue = hasScreenLock(appContext) && lockableSetting;
+		lockable.postValue(newValue);
+		// what is the timeout in minutes?
+		timeoutMinutes = settings.getInt(PREF_SCREEN_LOCK_TIMEOUT,
+				timeoutDefault);
+	}
+
 	private boolean timeoutEnabled() {
 		return timeoutMinutes != timeoutNever && lockable.getValue();
 	}