diff --git a/servers/slapd/overlays/sssvlv.c b/servers/slapd/overlays/sssvlv.c
index 7eca86a6dcc457eaec62583f16e135e28d9c43e9..5b2d40c07d7530dd76cb9a983643c4fe0be510a8 100644
--- a/servers/slapd/overlays/sssvlv.c
+++ b/servers/slapd/overlays/sssvlv.c
@@ -436,6 +436,8 @@ static void send_list(
 	Entry *e;
 	LDAPControl *ctrls[2];
 
+	rs->sr_attrs = op->ors_attrs;
+
 	/* FIXME: it may be better to just flatten the tree into
 	 * an array before doing all of this...
 	 */
@@ -586,6 +588,8 @@ static void send_page( Operation *op, SlapReply *rs, sort_op *so )
 	Entry *e;
 	int rc;
 
+	rs->sr_attrs = op->ors_attrs;
+
 	while ( cur_node && rs->sr_nentries < so->so_page_size ) {
 		sort_node *sn = cur_node->avl_data;
 
@@ -630,8 +634,6 @@ static void send_entry(
 	if ( !so->so_tree )
 		return;
 
-	rs->sr_attrs = op->ors_attrs;
-
 	/* RFC 2891: If critical then send the entries iff they were
 	 * succesfully sorted.  If non-critical send all entries
 	 * whether they were sorted or not.