diff --git a/man/pam_systemd.xml b/man/pam_systemd.xml
index 694371c2c4..c823faaaed 100644
--- a/man/pam_systemd.xml
+++ b/man/pam_systemd.xml
@@ -308,19 +308,24 @@ pam_set_data(handle, "systemd.runtime_max_sec", (void *)"3600", cleanup);
systemd-logind.service:
#%PAM-1.0
-auth sufficient pam_unix.so
-auth required pam_deny.so
+auth sufficient pam_unix.so
+-auth sufficient pam_systemd_home.so
+auth required pam_deny.so
-account required pam_nologin.so
-account sufficient pam_unix.so
-account required pam_permit.so
+account required pam_nologin.so
+-account sufficient pam_systemd_home.so
+account sufficient pam_unix.so
+account required pam_permit.so
-password sufficient pam_unix.so sha512 shadow try_first_pass try_authtok
-password required pam_deny.so
+-password sufficient pam_systemd_home.so
+password sufficient pam_unix.so sha512 shadow try_first_pass try_authtok
+password required pam_deny.so
--session optional pam_loginuid.so
--session optional pam_systemd.so
-session required pam_unix.so
+-session optional pam_keyinit.so revoke
+-session optional pam_loginuid.so
+-session optional pam_systemd_home.so
+-session optional pam_systemd.so
+session required pam_unix.so
diff --git a/man/pam_systemd_home.xml b/man/pam_systemd_home.xml
index d952c98dc1..e0e24e5888 100644
--- a/man/pam_systemd_home.xml
+++ b/man/pam_systemd_home.xml
@@ -116,21 +116,21 @@
#%PAM-1.0
auth sufficient pam_unix.so
--auth sufficient pam_systemd_home.so
+-auth sufficient pam_systemd_home.so
auth required pam_deny.so
account required pam_nologin.so
--account sufficient pam_systemd_home.so
+-account sufficient pam_systemd_home.so
account sufficient pam_unix.so
account required pam_permit.so
--password sufficient pam_systemd_home.so
+-password sufficient pam_systemd_home.so
password sufficient pam_unix.so sha512 shadow try_first_pass try_authtok
password required pam_deny.so
-session optional pam_keyinit.so revoke
-session optional pam_loginuid.so
--session optional pam_systemd_home.so
+-session optional pam_systemd_home.so
-session optional pam_systemd.so
session required pam_unix.so
diff --git a/src/login/systemd-user.m4 b/src/login/systemd-user.m4
index 4f85b4b7fe..f6313f79fe 100644
--- a/src/login/systemd-user.m4
+++ b/src/login/systemd-user.m4
@@ -2,11 +2,19 @@
#
# Used by systemd --user instances.
-account required pam_unix.so
+m4_ifdef(`ENABLE_HOMED',
+-account sufficient pam_systemd_home.so
+)m4_dnl
+account sufficient pam_unix.so
+account required pam_permit.so
+
m4_ifdef(`HAVE_SELINUX',
session required pam_selinux.so close
session required pam_selinux.so nottys open
)m4_dnl
session required pam_loginuid.so
session optional pam_keyinit.so force revoke
+m4_ifdef(`ENABLE_HOMED',
+-session optional pam_systemd_home.so
+)m4_dnl
session optional pam_systemd.so