diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java b/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java
index 0d57b57..cfee980 100644
--- a/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java
+++ b/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java
@@ -27,6 +27,7 @@
 import android.app.RemoteLockscreenValidationSession;
 import android.app.admin.DevicePolicyManager;
 import android.app.admin.ManagedSubscriptionsPolicy;
+import android.app.admin.flags.Flags;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.DialogInterface;
@@ -374,8 +375,13 @@
     private int getUserTypeForWipe() {
         final UserInfo userToBeWiped = mUserManager.getUserInfo(
                 mDevicePolicyManager.getProfileWithMinimumFailedPasswordsForWipe(mEffectiveUserId));
-        UserHandle mainUser = mUserManager.getMainUser();
-        UserHandle primaryUser = mainUser != null ? mainUser : UserHandle.SYSTEM;
+        UserHandle primaryUser = UserHandle.SYSTEM;
+        if (Flags.headlessSingleUserFixes()) {
+            UserHandle mainUser = mUserManager.getMainUser();
+            if (mainUser != null ) {
+                primaryUser = mainUser;
+            }
+        }
         if (userToBeWiped == null || userToBeWiped.getUserHandle().equals(primaryUser)) {
             return USER_TYPE_PRIMARY;
         } else if (userToBeWiped.isManagedProfile()) {
