diff --git a/libraries/libldap/charset.c b/libraries/libldap/charset.c
index be85707a833e97fa3c79699b710817fc8ff66ba1..91cf3e2429f3c5dd5dbf3383fbcf0dee47819b7e 100644
--- a/libraries/libldap/charset.c
+++ b/libraries/libldap/charset.c
@@ -40,7 +40,7 @@ ldap_set_string_translators( LDAP *ld, BERTranslateProc encode_proc,
 void
 ldap_enable_translation( LDAP *ld, LDAPMessage *entry, int enable )
 {
-	short	*optionsp;
+	unsigned short	*optionsp;
 
 	optionsp = ( entry == NULL ) ? &ld->ld_lberoptions :
 	    &entry->lm_ber->ber_options;
diff --git a/libraries/libldap/ldap-int.h b/libraries/libldap/ldap-int.h
index 3ab44dacec65622210ffe3668ec63b1474da72f8..6b1ca1a027eca2663cc97c0e3fb4b78251d82019 100644
--- a/libraries/libldap/ldap-int.h
+++ b/libraries/libldap/ldap-int.h
@@ -226,7 +226,7 @@ struct ldap {
 	char	*ld_host;
 	int		ld_port;
 
-	short		ld_lberoptions;
+	unsigned short	ld_lberoptions;
 
 	LDAPFiltDesc	*ld_filtd;	/* from getfilter for ufn searches */
 	char		*ld_ufnprefix;	/* for incomplete ufn's */