diff --git a/CHANGES b/CHANGES
index 3d3c54424e23b5d6f72a65688c5b229ad402c359..490b33a345e4d565eb67487d95deb904c36c1587 100644
--- a/CHANGES
+++ b/CHANGES
@@ -10,6 +10,7 @@ OpenLDAP 2.4.12 Engineering
 	Added slapd caseIgnoreListMatch (ITS#5608)
 	Fixed slapd overlay control registration (ITS#5649)
 	Fixed slapd socket closing on Windows (ITS#5606)
+	Fixed slapd sortvals comparison (ITS#5578)
 	Fixed slapd syncrepl error logging (ITS#5618)
 	Fixed slapd-bdb entry return if attr not present (ITS#5650)
 	Fixed slapd-ldap,slapd-meta invalid filter behavior (ITS#5614)
diff --git a/servers/slapd/attr.c b/servers/slapd/attr.c
index 8204fa7be860406b9f16cc9505a7dff3506b9eb1..67c26911c2ef8dc1755fc566568dcf0825319386 100644
--- a/servers/slapd/attr.c
+++ b/servers/slapd/attr.c
@@ -404,7 +404,7 @@ attr_valadd(
 					rc = LDAP_TYPE_OR_VALUE_EXISTS;
 				return rc;
 			}
-			for ( j = a->a_numvals; j >= slot; j-- ) {
+			for ( j = a->a_numvals; j >= (int)slot; j-- ) {
 				a->a_vals[j+1] = a->a_vals[j];
 				if ( nvals )
 					a->a_nvals[j+1] = a->a_nvals[j];