--- a/dbus/dbus-userdb-util.c	2015-09-30 16:48:40.000000000 +0200
+++ b/dbus/dbus-userdb-util.c	2016-11-03 11:09:42.550520587 +0100
@@ -32,6 +32,9 @@
 #if HAVE_SYSTEMD
 #include <systemd/sd-login.h>
 #endif
+#if HAVE_ELOGIND
+#include <elogind/sd-login.h>
+#endif
 
 /**
  * @addtogroup DBusInternalsUtils
@@ -54,7 +57,7 @@
   const DBusUserInfo *info;
   dbus_bool_t result = FALSE;
 
-#ifdef HAVE_SYSTEMD
+#if defined(HAVE_SYSTEMD) || defined(HAVE_ELOGIND)
   /* check if we have logind */
   if (access ("/run/systemd/seats/", F_OK) >= 0)
     {
--- a/configure.ac	2016-11-03 11:13:58.286528265 +0100
+++ b/configure.ac	2016-11-03 11:22:11.210543063 +0100
@@ -185,6 +185,7 @@
 AC_ARG_ENABLE(kqueue, AS_HELP_STRING([--enable-kqueue],[build with kqueue support]),enable_kqueue=$enableval,enable_kqueue=auto)
 AC_ARG_ENABLE(console-owner-file, AS_HELP_STRING([--enable-console-owner-file],[enable console owner file]),enable_console_owner_file=$enableval,enable_console_owner_file=auto)
 AC_ARG_ENABLE(launchd, AS_HELP_STRING([--enable-launchd],[build with launchd auto-launch support]),enable_launchd=$enableval,enable_launchd=auto)
+AC_ARG_ENABLE(elogind, AS_HELP_STRING([--enable-elogind],[build with elogind user seat support]),enable_elogind=$enableval,enable_elogind=auto)
 AC_ARG_ENABLE(systemd, AS_HELP_STRING([--enable-systemd],[build with systemd at_console support]),enable_systemd=$enableval,enable_systemd=auto)
 
 AC_ARG_WITH(init-scripts, AS_HELP_STRING([--with-init-scripts=[redhat]],[Style of init scripts to install]))
@@ -1184,6 +1185,24 @@
 
 AM_CONDITIONAL(HAVE_CONSOLE_OWNER_FILE, test x$have_console_owner_file = xyes)
 
+dnl elogind detection
+if test x$enable_elogind = xno ; then
+    have_elogind=no;
+else
+    PKG_CHECK_MODULES([ELOGIND],
+        [libelogind >= 209],
+        [have_elogind=yes],
+        [have_elogind=no])
+fi
+
+if test x$have_elogind = xyes; then
+    AC_DEFINE(HAVE_ELOGIND,1,[Have elogind])
+fi
+
+if test x$enable_elogind = xyes -a x$have_elogind != xyes ; then
+    AC_MSG_ERROR([Explicitly requested elogind support, but libelogind not found])
+fi
+
 dnl systemd detection
 if test x$enable_systemd = xno ; then
     have_systemd=no;
@@ -1290,7 +1309,7 @@
 fi
 
 #### Set up final flags
-LIBDBUS_LIBS="$THREAD_LIBS $NETWORK_libs $SYSTEMD_LIBS"
+LIBDBUS_LIBS="$THREAD_LIBS $NETWORK_libs $SYSTEMD_LIBS $ELOGIND_LIBS"
 AC_SUBST([LIBDBUS_LIBS])
 
 ### X11 detection
@@ -1949,6 +1968,7 @@
         Building AppArmor support: ${have_apparmor}
         Building inotify support: ${have_inotify}
         Building kqueue support:  ${have_kqueue}
+        Building elogind support: ${have_elogind}
         Building systemd support: ${have_systemd}
         Building X11 code:        ${have_x11}
         Building Doxygen docs:    ${enable_doxygen_docs}
