diff --git a/configure.ac b/configure.ac
index b60a036f6d77bc8452c506d0f4a340d75ad3953d..ebb60a6c0dd3b7618b0971dd4f29e01bf865f7ef 100644
--- a/configure.ac
+++ b/configure.ac
@@ -59,7 +59,12 @@ AC_ARG_ENABLE(pam-sso,
 dnl Probe for the functionality of the PAM libraries and their include file
 dnl naming.  Mac OS X puts them in pam/* instead of security/*.
 if test "$build_pam_sso" != "no" ; then
-  AC_SEARCH_LIBS([pam_set_data], [pam])
+  dnl Do not add -lpam to LIBS, set PAM_LIBS instead.
+  save_LIBS="$LIBS"
+  AC_SEARCH_LIBS([pam_set_data], [pam], [], [
+    AC_MSG_ERROR([libpam not found])])
+  LIBS="$save_LIBS"
+  AC_SUBST(PAM_LIBS, [-lpam])
   AC_CHECK_FUNCS([pam_getenv pam_getenvlist pam_modutil_getpwnam])
   AC_REPLACE_FUNCS([pam_syslog pam_vsyslog])
   AC_CHECK_HEADERS([security/pam_modutil.h], [],
diff --git a/src/pam_sso/Makefile.am b/src/pam_sso/Makefile.am
index 7deae9f262a207688c313759c71762e458ca9b60..6155d3a3372eb82ea4800183353a32284390327a 100644
--- a/src/pam_sso/Makefile.am
+++ b/src/pam_sso/Makefile.am
@@ -7,7 +7,7 @@ lib_LTLIBRARIES = pam_sso.la
 pam_sso_la_SOURCES = \
 	pam_sso.c pam_sso.h
 pam_sso_la_LDFLAGS = -module
-pam_sso_la_LIBADD = $(top_builddir)/src/sso/libsso.la
+pam_sso_la_LIBADD = $(PAM_LIBS) $(top_builddir)/src/sso/libsso.la
 
 check_PROGRAMS = \
 	pam_sso_unittest
@@ -16,6 +16,6 @@ TESTS = $(check_PROGRAMS)
 
 pam_sso_unittest_CPPFLAGS = $(AM_CPPFLAGS) $(GTEST_CPPFLAGS)
 pam_sso_unittest_LDFLAGS = $(AM_LDFLAGS) $(GTEST_LDFLAGS)
-pam_sso_unittest_LDADD = $(GTEST_LIBS) \
+pam_sso_unittest_LDADD = $(GTEST_LIBS) $(PAM_LIBS) \
 	$(top_builddir)/src/sso/libsso.la
 pam_sso_unittest_SOURCES = pam_sso_unittest.cc