--- smbd/utmp.c.orig	2008-01-09 20:25:53.000000000 -0500
+++ smbd/utmp.c	2008-01-09 20:30:08.000000000 -0500
@@ -398,6 +398,10 @@
 	/* Odd.  Have utmpx.h but no "getutmpx()".  Drop to non-x stuff */
 	DEBUG(1,("utmp_update: have utmpx.h but no getutmpx() function\n"));
 	utmp_nox_update(u, claim);
+#elif !defined(HAVE_UPDWTMPX)
+    /* Have utmpx.h but no "updwtmpx()".  Drop to non-x stuff */
+    DEBUG(1,("utmp_update: have utmpx.h but no updwtmpx() function\n"));
+    utmp_nox_update(u, claim);
 #else
 	pstring uname, wname;
 	struct utmpx ux, *uxrc;