diff --git a/servers/slapd/sasl.c b/servers/slapd/sasl.c
index acdd1602b0583485c7978fc52c4b7c0e4b60f142..f39799f913bc2d50241032642ed0a1efa6714909 100644
--- a/servers/slapd/sasl.c
+++ b/servers/slapd/sasl.c
@@ -1112,8 +1112,8 @@ int slap_sasl_init( void )
 #ifdef HAVE_CYRUS_SASL
 	int rc;
 	static sasl_callback_t server_callbacks[] = {
-		{ SASL_CB_LOG, &slap_sasl_log, NULL },
-		{ SASL_CB_GETOPT, &slap_sasl_getopt, NULL },
+		{ SASL_CB_LOG, (sasl_callback_ft)&slap_sasl_log, NULL },
+		{ SASL_CB_GETOPT, (sasl_callback_ft)&slap_sasl_getopt, NULL },
 		{ SASL_CB_LIST_END, NULL, NULL }
 	};
 #endif
@@ -1257,15 +1257,15 @@ int slap_sasl_open( Connection *conn, int reopen )
 		conn->c_sasl_extra = session_callbacks;
 
 		session_callbacks[cb=0].id = SASL_CB_LOG;
-		session_callbacks[cb].proc = &slap_sasl_log;
+		session_callbacks[cb].proc = (sasl_callback_ft)&slap_sasl_log;
 		session_callbacks[cb++].context = conn;
 
 		session_callbacks[cb].id = SASL_CB_PROXY_POLICY;
-		session_callbacks[cb].proc = &slap_sasl_authorize;
+		session_callbacks[cb].proc = (sasl_callback_ft)&slap_sasl_authorize;
 		session_callbacks[cb++].context = conn;
 
 		session_callbacks[cb].id = SASL_CB_CANON_USER;
-		session_callbacks[cb].proc = &slap_sasl_canonicalize;
+		session_callbacks[cb].proc = (sasl_callback_ft)&slap_sasl_canonicalize;
 		session_callbacks[cb++].context = conn;
 
 		session_callbacks[cb].id = SASL_CB_LIST_END;