diff --git a/servers/slapd/slapadd.c b/servers/slapd/slapadd.c
index 34058917fb9e06e37d8f0a999a42aeba629a966a..9369d7c6908dde521cb934cf9494ae6b8af47ee6 100644
--- a/servers/slapd/slapadd.c
+++ b/servers/slapd/slapadd.c
@@ -255,33 +255,33 @@ slapadd( int argc, char **argv )
 				attr_merge( e, slap_schema.si_ad_creatorsName, vals, nvals );
 			}
 
-			if( attr_find( e->e_attrs, slap_schema.si_ad_modifiersName )
+			if( attr_find( e->e_attrs, slap_schema.si_ad_createTimestamp )
 				== NULL )
 			{
-				vals[0] = name;
-				nvals[0] = nname;
-				attr_merge( e, slap_schema.si_ad_modifiersName, vals, nvals );
+				vals[0] = timestamp;
+				attr_merge( e, slap_schema.si_ad_createTimestamp, vals, NULL );
 			}
 
-			if( attr_find( e->e_attrs, slap_schema.si_ad_createTimestamp )
+			if( attr_find( e->e_attrs, slap_schema.si_ad_entryCSN )
 				== NULL )
 			{
-				vals[0] = timestamp;
-				attr_merge( e, slap_schema.si_ad_createTimestamp, vals, NULL );
+				vals[0] = csn;
+				attr_merge( e, slap_schema.si_ad_entryCSN, vals, NULL );
 			}
 
-			if( attr_find( e->e_attrs, slap_schema.si_ad_modifyTimestamp )
+			if( attr_find( e->e_attrs, slap_schema.si_ad_modifiersName )
 				== NULL )
 			{
-				vals[0] = timestamp;
-				attr_merge( e, slap_schema.si_ad_modifyTimestamp, vals, NULL );
+				vals[0] = name;
+				nvals[0] = nname;
+				attr_merge( e, slap_schema.si_ad_modifiersName, vals, nvals );
 			}
 
-			if( attr_find( e->e_attrs, slap_schema.si_ad_entryCSN )
+			if( attr_find( e->e_attrs, slap_schema.si_ad_modifyTimestamp )
 				== NULL )
 			{
-				vals[0] = csn;
-				attr_merge( e, slap_schema.si_ad_entryCSN, vals, NULL );
+				vals[0] = timestamp;
+				attr_merge( e, slap_schema.si_ad_modifyTimestamp, vals, NULL );
 			}
 
 			if ( update_ctxcsn ) {