diff -urN8p a/configure.in b/configure.in
--- a/configure.in	2013-08-03 21:42:30.204749302 -0500
+++ b/configure.in	2013-08-03 21:45:17.496740871 -0500
@@ -929,17 +929,16 @@ if test x$UDEV_SYNC = xyes; then
 	dnl -- init pkgconfig if required
 	if  test x$PKGCONFIG_INIT != x1; then
 		pkg_config_init
 	fi
 	PKG_CHECK_MODULES(UDEV, libudev >= 143, [UDEV_PC="libudev"])
 	UDEV_STATIC_LIBS=`$PKG_CONFIG --static --libs libudev`
 	AC_DEFINE([UDEV_SYNC_SUPPORT], 1, [Define to 1 to enable synchronisation with udev processing.])
 fi
-AC_SUBST(UDEV_STATIC_LIBS)
 
 dnl -- Enable udev rules
 AC_MSG_CHECKING(whether to enable installation of udev rules required for synchronisation)
 AC_ARG_ENABLE(udev_rules,
 	      AC_HELP_STRING([--enable-udev_rules],
 			     [install rule files needed for udev synchronisation]),
 	      UDEV_RULES=$enableval, UDEV_RULES=$UDEV_SYNC)
 AC_MSG_RESULT($UDEV_RULES)
@@ -1173,29 +1172,42 @@ AC_ARG_ENABLE(selinux,
 	      SELINUX=$enableval)
 AC_MSG_RESULT($SELINUX)
 
 ################################################################################
 dnl -- Check for selinux
 if test x$SELINUX = xyes; then
 	AC_CHECK_LIB([sepol], [sepol_check_context], [
 		AC_DEFINE([HAVE_SEPOL], 1, [Define to 1 if sepol_check_context is available.])
-		SELINUX_LIBS="-lsepol"])
+		SEPOL_LIBS="-lsepol"])
 
-	AC_CHECK_LIB([selinux], [is_selinux_enabled], [
-		AC_CHECK_HEADERS([selinux/selinux.h],, hard_bailout)
-		AC_CHECK_HEADERS([selinux/label.h])
-		AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.])
-		SELINUX_LIBS="-lselinux $SELINUX_LIBS"
+	dnl -- init pkgconfig if required
+	if  test x$PKGCONFIG_INIT != x1; then
+		pkg_config_init
+	fi
+	PKG_CHECK_MODULES(SELINUX, libselinux, [
 		SELINUX_PC="libselinux"
-		HAVE_SELINUX=yes ], [
-		AC_MSG_WARN(Disabling selinux)
-		SELINUX_LIBS=
-		SELINUX_PC=
-		HAVE_SELINUX=no ])
+		SELINUX_STATIC_LIBS=`$PKG_CONFIG --static --libs libselinux`
+		SELINUX_LIBS="$SELINUX_LIBS $SEPOL_LIBS"
+		AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.])
+	],[
+		dnl -- old non-pkgconfig method, is buggy with static builds
+		AC_CHECK_LIB([selinux], [is_selinux_enabled], [
+			AC_CHECK_HEADERS([selinux/selinux.h],, hard_bailout)
+			AC_CHECK_HEADERS([selinux/label.h])
+			AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.])
+			SELINUX_LIBS="-lselinux $SEPOL_LIBS"
+			SELINUX_STATIC_LIBS="$SELINUX_LIBS"
+			SELINUX_PC="libselinux"
+			HAVE_SELINUX=yes ], [
+			AC_MSG_WARN(Disabling selinux)
+			SELINUX_LIBS=
+			SELINUX_PC=
+			HAVE_SELINUX=no ])
+	])
 fi
 
 ################################################################################
 dnl -- Check for realtime clock support
 if test x$REALTIME = xyes; then
 	AC_CHECK_LIB(rt, clock_gettime, HAVE_REALTIME=yes, HAVE_REALTIME=no)
 
 	if test x$HAVE_REALTIME = xyes; then
@@ -1589,25 +1601,27 @@ AC_SUBST(QUORUM_LIBS)
 AC_SUBST(RAID)
 AC_SUBST(READLINE_LIBS)
 AC_SUBST(REPLICATORS)
 AC_SUBST(SACKPT_CFLAGS)
 AC_SUBST(SACKPT_LIBS)
 AC_SUBST(SALCK_CFLAGS)
 AC_SUBST(SALCK_LIBS)
 AC_SUBST(SELINUX_LIBS)
+AC_SUBST(SELINUX_STATIC_LIBS)
 AC_SUBST(SELINUX_PC)
 AC_SUBST(SNAPSHOTS)
 AC_SUBST(STATICDIR)
 AC_SUBST(STATIC_LDFLAGS)
 AC_SUBST(STATIC_LINK)
 AC_SUBST(TESTING)
 AC_SUBST(THIN)
 AC_SUBST(THIN_CHECK_CMD)
 AC_SUBST(UDEV_LIBS)
+AC_SUBST(UDEV_STATIC_LIBS)
 AC_SUBST(UDEV_PC)
 AC_SUBST(UDEV_RULES)
 AC_SUBST(UDEV_SYNC)
 AC_SUBST(UDEV_RULE_EXEC_DETECTION)
 AC_SUBST(UDEV_HAS_BUILTIN_BLKID)
 AC_SUBST(CUNIT_LIBS)
 AC_SUBST(CUNIT_CFLAGS)
 AC_SUBST(WRITE_INSTALL)
diff -urN8p a/make.tmpl.in b/make.tmpl.in
--- a/make.tmpl.in	2013-08-03 21:42:30.204749302 -0500
+++ b/make.tmpl.in	2013-08-03 22:09:52.017666556 -0500
@@ -27,31 +27,32 @@ GENHTML = @GENHTML@
 LN_S = @LN_S@
 SED = @SED@
 CFLOW_CMD = @CFLOW_CMD@
 AWK = @AWK@
 PYTHON = @PYTHON@
 
 LIBS = @LIBS@
 # Extra libraries always linked with static binaries
-STATIC_LIBS = $(SELINUX_LIBS) $(UDEV_STATIC_LIBS)
+STATIC_LIBS = $(SELINUX_STATIC_LIBS) $(UDEV_STATIC_LIBS)
 DEFS += @DEFS@
 # FIXME set this only where it's needed, not globally?
 CFLAGS += @CFLAGS@ @UDEV_CFLAGS@
 CLDFLAGS += @CLDFLAGS@
 ELDFLAGS += @ELDFLAGS@
 LDDEPS += @LDDEPS@
 LDFLAGS += @LDFLAGS@
 STATIC_LDFLAGS += @STATIC_LDFLAGS@
 LIB_SUFFIX = @LIB_SUFFIX@
 LVMINTERNAL_LIBS = -llvm-internal $(DAEMON_LIBS) $(UDEV_LIBS) $(DL_LIBS)
 DL_LIBS = @DL_LIBS@
 PTHREAD_LIBS = @PTHREAD_LIBS@
 READLINE_LIBS = @READLINE_LIBS@
 SELINUX_LIBS = @SELINUX_LIBS@
+SELINUX_STATIC_LIBS = @SELINUX_STATIC_LIBS@
 UDEV_LIBS = @UDEV_LIBS@
 UDEV_STATIC_LIBS = @UDEV_STATIC_LIBS@
 TESTING = @TESTING@
 
 # Setup directory variables
 prefix = @prefix@
 exec_prefix = @exec_prefix@
 udev_prefix = @udev_prefix@
