diff --git a/servers/slapd/init.c b/servers/slapd/init.c
index 1c9e947b75ef5f10e6af6c8991cbb20f254598ef..a8a8e812ea6395eb670ac0fa24128dd1544d197a 100644
--- a/servers/slapd/init.c
+++ b/servers/slapd/init.c
@@ -232,9 +232,6 @@ int slap_shutdown( Backend *be )
 		slap_name, 0, 0 );
 #endif
 
-
-	slap_sasl_destroy();
-
 	/* let backends do whatever cleanup they need to do */
 	rc = backend_shutdown( be ); 
 
@@ -263,6 +260,8 @@ int slap_destroy(void)
 
 	rc = backend_destroy();
 
+	slap_sasl_destroy();
+
 	entry_destroy();
 
 	ldap_pvt_thread_destroy();