diff --git a/services/core/java/com/android/server/am/UserController.java b/services/core/java/com/android/server/am/UserController.java index bea26c75dcebb..514c6c54bdcc5 100644 --- a/services/core/java/com/android/server/am/UserController.java +++ b/services/core/java/com/android/server/am/UserController.java @@ -893,8 +893,9 @@ final class UserController { boolean unlockUserCleared(final int userId, byte[] token, byte[] secret, ProgressReporter progress) { synchronized (mService) { - // Bail if already running unlocked + // Bail if already running unlocked, or if not running at all final UserState uss = mStartedUsers.get(userId); + if (uss == null) return false; switch (uss.state) { case STATE_RUNNING_UNLOCKING: case STATE_RUNNING_UNLOCKED: