diff --git a/src/slurmdbd/rpc_mgr.c b/src/slurmdbd/rpc_mgr.c
index ab30857c4f61f61f8e797a1e64c48d3b6c43f776..d6ed79d5868278dff479c2693c43c3933c729f52 100644
--- a/src/slurmdbd/rpc_mgr.c
+++ b/src/slurmdbd/rpc_mgr.c
@@ -251,8 +251,6 @@ static void * _service_connection(void *arg)
 	}
 
 	if (conn->ctld_port) {
-		acct_storage_g_commit(conn->db_conn, 1);
-
 		if (!shutdown_time) {
 			slurmdb_cluster_rec_t cluster_rec;
 			ListIterator itr;
@@ -279,6 +277,8 @@ static void * _service_connection(void *arg)
 			list_iterator_destroy(itr);
 			slurm_mutex_unlock(&registered_lock);
 		}
+		/* needs to be the last thing done */
+		acct_storage_g_commit(conn->db_conn, 1);
 	}
 
 	acct_storage_g_close_connection(&conn->db_conn);