diff --git a/libraries/libldap/options.c b/libraries/libldap/options.c
index 7dcd4d2d974875e45390ea4640fa8ec07b0a2389..1705bd9fc7e213709f6d727915b04de19cf6fd66 100644
--- a/libraries/libldap/options.c
+++ b/libraries/libldap/options.c
@@ -106,6 +106,8 @@ ldap_get_option(
 
 	if( lo->ldo_valid != LDAP_INITIALIZED ) {
 		ldap_int_initialize(lo, NULL);
+		if ( lo->ldo_valid != LDAP_INITIALIZED )
+			return LDAP_LOCAL_ERROR;
 	}
 
 	if(ld != NULL) {
@@ -446,6 +448,8 @@ ldap_set_option(
 
 	if( lo->ldo_valid != LDAP_INITIALIZED ) {
 		ldap_int_initialize(lo, dbglvl);
+		if ( lo->ldo_valid != LDAP_INITIALIZED )
+			return LDAP_LOCAL_ERROR;
 	}
 
 	if(ld != NULL) {