diff --git a/CHANGES b/CHANGES
index 7622e86c96d4b2990a724e1889e50fc118c2921e..e7576e55ec83b1e65186e6a69834b1b462d2ef75 100644
--- a/CHANGES
+++ b/CHANGES
@@ -5,6 +5,7 @@ OpenLDAP 2.4.15 Release (2009/02/19)
 	Fixed libldap GnuTLS compilation (ITS#5955)
 	Fixed slapd bconfig conversion again (ITS#5346)
 	Fixed slapd behavior with superior objectClasses again (ITS#5517)
+	Fixed slapd RFC4512 behavior with same attr in RDN (ITS#5968)
 	Fixed slapd corrupt contextCSN (ITS#5947)
 	Fixed slapd syncrepl order to match on add/delete (ITS#5954)
 	Fixed slapd adding rdn with other values (ITS#5965)
diff --git a/servers/slapd/dn.c b/servers/slapd/dn.c
index c3669d64067967f7c2bcad40ff39c223bac0760d..638187411a5de0c6d2967ddb171e22cb467f18f7 100644
--- a/servers/slapd/dn.c
+++ b/servers/slapd/dn.c
@@ -250,21 +250,8 @@ AVA_Sort( LDAPRDN rdn, int nAVAs )
 			ava_j = rdn[ j ];
 			a = strcmp( ava_i->la_attr.bv_val, ava_j->la_attr.bv_val );
 
-			if ( a == 0 ) {
-				int		d;
-
-				d = ava_i->la_value.bv_len - ava_j->la_value.bv_len;
-
-				a = memcmp( ava_i->la_value.bv_val, 
-						ava_j->la_value.bv_val,
-						d <= 0 ? ava_i->la_value.bv_len 
-							: ava_j->la_value.bv_len );
-
-				if ( a == 0 ) {
-					a = d;
-				}
-			}
-			/* Duplicates are not allowed */
+			/* RFC4512 does not allow multiple AVAs
+			 * with the same attribute type in RDN (ITS#5968) */
 			if ( a == 0 )
 				return LDAP_INVALID_DN_SYNTAX;