diff --git a/CHANGES b/CHANGES
index 04db6fee6a700d82c5ab5f53159d35e75157d92b..27379cb27c35b604128da5eb3a92c8babfd553c0 100644
--- a/CHANGES
+++ b/CHANGES
@@ -15,6 +15,7 @@ OpenLDAP 2.4.12 Engineering
 	Fixed slapo-rwm callback cleanup (ITS#5601)
 	Fixed slapo-rwm attr mapping and merging (ITS#5624)
 	Fixed slapo-unique filter validation (ITS#5581)
+	Fixed slapo-unique suffix testing (ITS#5641)
 	Build Environment
 		Fixed ODBC library detection (ITS#5602)
 	Documentation
diff --git a/servers/slapd/overlays/unique.c b/servers/slapd/overlays/unique.c
index 0f6479b2a732aa829b88bbeedfdb938b115f478f..e28e6b3540cc8f4400c75008dd449038f66291a2 100644
--- a/servers/slapd/overlays/unique.c
+++ b/servers/slapd/overlays/unique.c
@@ -197,6 +197,15 @@ unique_new_domain_uri ( unique_domain_uri **urip,
 			goto exit;
 		}
 
+		if ( be->be_nsuffix == NULL ) {
+			snprintf( c->cr_msg, sizeof( c->cr_msg ),
+				  "suffix must be set" );
+			Debug ( LDAP_DEBUG_CONFIG, "unique config: %s\n",
+				c->cr_msg, NULL, NULL );
+			rc = ARG_BAD_CONF;
+			goto exit;
+		}
+
 		if ( !dnIsSuffix ( &uri->ndn, &be->be_nsuffix[0] ) ) {
 			snprintf( c->cr_msg, sizeof( c->cr_msg ),
 				  "dn <%s> is not a suffix of backend base dn <%s>",