diff --git a/CHANGES b/CHANGES
index 216c7a63916fe80377e5639f6b1c3f1d12f1cf0d..08023395e93fe6b3ad90d6597336a6f8d9a3cd75 100644
--- a/CHANGES
+++ b/CHANGES
@@ -10,6 +10,7 @@ OpenLDAP 2.4.12 Engineering
 	Fixed slapd firstComponentMatch normalization (ITS#5634)
 	Added slapd caseIgnoreListMatch (ITS#5608)
 	Fixed slapd objectClass canonicalization (ITS#5681)
+	Fixed slapd objectClass termination (ITS#5682)
 	Fixed slapd overlay control registration (ITS#5649)
 	Fixed slapd socket closing on Windows (ITS#5606)
 	Fixed slapd sortvals comparison (ITS#5578)
diff --git a/servers/slapd/oc.c b/servers/slapd/oc.c
index 7fa10b01771c3292a60c56909aab9f558d44fcb6..508a3edcf34b4ef817bdd7e2ed7f9e3e55e25899 100644
--- a/servers/slapd/oc.c
+++ b/servers/slapd/oc.c
@@ -227,6 +227,7 @@ oc_bvfind_undef( struct berval *ocname )
 	oc->soc_cname.bv_len = ocname->bv_len;
 	oc->soc_cname.bv_val = (char *)&oc[ 1 ];
 	AC_MEMCPY( oc->soc_cname.bv_val, ocname->bv_val, ocname->bv_len );
+	oc->soc_cname.bv_val[ oc->soc_cname.bv_len ] = '\0';
 
 	/* canonical to upper case */
 	ldap_pvt_str2upper( oc->soc_cname.bv_val );