--- a/management/univention-directory-listener/src/notifier.c +++ a/management/univention-directory-listener/src/notifier.c @@ -185,8 +185,9 @@ int notifier_listen(univention_ldap_parameters_t *lp, bool write_transaction_fil while ((rv = change_update_dn(&trans)) != LDAP_SUCCESS) { univention_debug(UV_DEBUG_LISTENER, UV_DEBUG_ERROR, "change_update_dn failed: %d", rv); if (rv == LDAP_SERVER_DOWN) - if ((rv = connect_to_ldap(trans.lp)) != 0) - goto out; + if ((rv = connect_to_ldap(trans.lp)) == 0) + continue; + goto out; } /* rv had better be LDAP_SUCCESS if we get here */