diff --git a/CHANGES b/CHANGES
index e8739784154ec6d5d433243ca24c39707dcb4b77..5d3f951d0473b5aef700c6dae30c296598f33070 100644
--- a/CHANGES
+++ b/CHANGES
@@ -15,6 +15,7 @@ OpenLDAP 2.4.18 Engineering
 	Fixed slapd-ndb startup (ITS#6203)
 	Fixed slapd-relay various issues (ITS#6133)
 	Fixed slapd-relay response/cleanup callback mismatch (ITS#6154)
+	Fixed slapd-sql with empty attribute (ITS#6163)
 	Added slapo-pcache olcProxyCacheOffline (ITS#6152)
 	Fixed slapo-unique filter matching (ITS#6077)
 	Fixed tools off by one error (ITS#6233)
diff --git a/servers/slapd/back-sql/search.c b/servers/slapd/back-sql/search.c
index 0e54ac995d3b35246fc29fe18932c2f877ccd54b..7b7f78487d7969df59c0a1bf9167c477ff055b95 100644
--- a/servers/slapd/back-sql/search.c
+++ b/servers/slapd/back-sql/search.c
@@ -721,6 +721,16 @@ backsql_process_filter( backsql_srch_info *bsi, Filter *f )
 		goto done;
 	}
 
+	if ( f->f_choice & SLAPD_FILTER_UNDEFINED ) {
+		backsql_strfcat_x( &bsi->bsi_flt_where,
+			bsi->bsi_op->o_tmpmemctx,
+			"l",
+			(ber_len_t)STRLENOF( "1=0" ), "1=0" );
+		done = 1;
+		rc = 1;
+		goto done;
+	}
+
 	switch( f->f_choice ) {
 	case LDAP_FILTER_OR:
 		rc = backsql_process_filter_list( bsi, f->f_or, 
@@ -1196,6 +1206,14 @@ backsql_process_filter_attr( backsql_srch_info *bsi, Filter *f, backsql_at_map_r
 				&at->bam_join_where );
 	}
 
+	if ( f->f_choice & SLAPD_FILTER_UNDEFINED ) {
+		backsql_strfcat_x( &bsi->bsi_flt_where,
+			bsi->bsi_op->o_tmpmemctx,
+			"l",
+			(ber_len_t)STRLENOF( "1=0" ), "1=0" );
+		return 1;
+	}
+
 	switch ( f->f_choice ) {
 	case LDAP_FILTER_EQUALITY:
 		filter_value = &f->f_av_value;