diff --git a/lib/async_req/async_sock.c b/lib/async_req/async_sock.c
index 643eb2d308f..cf007e17f19 100644
--- a/lib/async_req/async_sock.c
+++ b/lib/async_req/async_sock.c
@@ -21,12 +21,16 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
-#include "includes.h"
-#include "lib/talloc/talloc.h"
-#include "lib/tevent/tevent.h"
+#include "replace.h"
+#include "system/network.h"
+#include "system/filesys.h"
+#include <talloc.h>
+#include <tevent.h>
 #include "lib/async_req/async_sock.h"
+
+/* Note: lib/util/ is currently GPL */
 #include "lib/util/tevent_unix.h"
-#include <fcntl.h>
+#include "lib/util/util.h"
 
 #ifndef TALLOC_FREE
 #define TALLOC_FREE(ctx) do { talloc_free(ctx); ctx=NULL; } while(0)
diff --git a/lib/async_req/async_sock.h b/lib/async_req/async_sock.h
index d47be305899..e7ddff8c92a 100644
--- a/lib/async_req/async_sock.h
+++ b/lib/async_req/async_sock.h
@@ -24,7 +24,8 @@
 #ifndef __ASYNC_SOCK_H__
 #define __ASYNC_SOCK_H__
 
-#include "includes.h"
+#include <talloc.h>
+#include <tevent.h>
 
 struct tevent_req *async_send_send(TALLOC_CTX *mem_ctx,
 				   struct tevent_context *ev,
diff --git a/lib/async_req/config.mk b/lib/async_req/config.mk
index 1f4b557ce44..64e537c0886 100644
--- a/lib/async_req/config.mk
+++ b/lib/async_req/config.mk
@@ -1,4 +1,4 @@
 [SUBSYSTEM::LIBASYNC_REQ]
-PUBLIC_DEPENDENCIES = LIBREPLACE_NETWORK
+PUBLIC_DEPENDENCIES = LIBREPLACE_NETWORK LIBTALLOC LIBTEVENT
 
 LIBASYNC_REQ_OBJ_FILES = $(addprefix ../lib/async_req/, async_sock.o)
diff --git a/nsswitch/libwbclient/wb_reqtrans.c b/nsswitch/libwbclient/wb_reqtrans.c
index 84ed7198f2f..5328423b15f 100644
--- a/nsswitch/libwbclient/wb_reqtrans.c
+++ b/nsswitch/libwbclient/wb_reqtrans.c
@@ -28,18 +28,14 @@
 #include "system/network.h"
 #include <talloc.h>
 #include <tevent.h>
-struct fd_event;
-struct event_context;
 #include "lib/async_req/async_sock.h"
 #include "lib/util/tevent_unix.h"
 #include "nsswitch/winbind_struct_protocol.h"
 #include "nsswitch/libwbclient/wbclient.h"
 #include "nsswitch/libwbclient/wbc_async.h"
 
-#ifdef DBGC_CLASS
-#undef DBGC_CLASS
-#define DBGC_CLASS DBGC_WINBIND
-#endif
+/* can't use DEBUG here... */
+#define DEBUG(a,b)
 
 struct req_read_state {
 	struct winbindd_request *wb_req;
diff --git a/nsswitch/libwbclient/wbc_async.c b/nsswitch/libwbclient/wbc_async.c
index 5f985f9d5ac..fb8d8b102d4 100644
--- a/nsswitch/libwbclient/wbc_async.c
+++ b/nsswitch/libwbclient/wbc_async.c
@@ -26,8 +26,6 @@
 #include "system/network.h"
 #include <talloc.h>
 #include <tevent.h>
-struct fd_event;
-struct event_context;
 #include "lib/async_req/async_sock.h"
 #include "nsswitch/winbind_struct_protocol.h"
 #include "nsswitch/libwbclient/wbclient.h"
@@ -254,7 +252,7 @@ static struct tevent_req *wb_connect_send(TALLOC_CTX *mem_ctx,
 
 	/* Connect to socket */
 
-	path = talloc_asprintf(talloc_tos(), "%s/%s", dir,
+	path = talloc_asprintf(mem_ctx, "%s/%s", dir,
 			       WINBINDD_SOCKET_NAME);
 	if (path == NULL) {
 		goto nomem;
@@ -613,7 +611,7 @@ static bool wb_trans_retry(struct tevent_req *req,
 	}
 
 	subreq = tevent_wakeup_send(state, state->ev,
-				    timeval_current_ofs(1, 0));
+				    tevent_timeval_current_ofs(1, 0));
 	if (tevent_req_nomem(subreq, req)) {
 		return true;
 	}