diff --git a/CHANGES b/CHANGES
index feb79089ea42039ad7f04ddb8d154bc484251579..4752b57b347ebb240463e6acb4016a63f6cae3f6 100644
--- a/CHANGES
+++ b/CHANGES
@@ -25,6 +25,7 @@ OpenLDAP 2.4.13 Release (2008/11/20)
 	Fixed slapd parsing of read entry control (ITS#5741)
 	Added slapd PMI schema (ITS#5695)
 	Added slapd private databases in global overlays (ITS#5735,ITS#5736)
+	Fixed slapd rdn generation when it isn't specified (ITS#5819)
 	Fixed slapd slapd.conf validation to LDIF (ITS#5755)
 	Fixed slapd startup scan for CSN (ITS#5640)
 	Fixed slapd statslog printing of released entry (ITS#5775)
diff --git a/servers/slapd/schema_check.c b/servers/slapd/schema_check.c
index ca0f7309809a65898ff5afdef63719f80dffe033..eba6e707dd31cfcb78d13d76c63b154eb3fe1443 100644
--- a/servers/slapd/schema_check.c
+++ b/servers/slapd/schema_check.c
@@ -880,11 +880,13 @@ entry_naming_check(
 						ava->la_attr.bv_val );
 					break;
 				case LDAP_NO_SUCH_ATTRIBUTE:
-					snprintf( textbuf, textlen, 
-						"value of naming attribute '%s' is not present in entry",
-						ava->la_attr.bv_val );
 					if ( add_naming ) {
 						add = 1;
+						rc = LDAP_SUCCESS;
+					} else {
+						snprintf( textbuf, textlen, 
+							"value of naming attribute '%s' is not present in entry",
+							ava->la_attr.bv_val );
 					}
 					break;
 				default:
@@ -892,7 +894,10 @@ entry_naming_check(
 						"naming attribute '%s' is inappropriate",
 						ava->la_attr.bv_val );
 				}
-				rc = LDAP_NAMING_VIOLATION;
+
+				if ( !add ) {
+					rc = LDAP_NAMING_VIOLATION;
+				}
 			}
 		}