diff --git a/src/common/slurmdbd_defs.c b/src/common/slurmdbd_defs.c
index c12cbb8f53ab42b51822d31287138326bcb6fa21..1099cea74e6b3b46bff6de010b8832983d981459 100644
--- a/src/common/slurmdbd_defs.c
+++ b/src/common/slurmdbd_defs.c
@@ -301,13 +301,12 @@ static void _open_slurmdbd_fd()
 
 	slurmdbd_host = slurm_get_accounting_storage_host();
 	slurmdbd_port = slurm_get_accounting_storage_port();
-	if ((slurmdbd_host == NULL) || (slurmdbd_port == 0)) {
-		error("Invalid SlurmDbd address %s:%u",
-		      slurmdbd_host, slurmdbd_port);
-		xfree(slurmdbd_host);
-		return;
-	}
-
+	if (slurmdbd_host == NULL)
+		slurmdbd_host = xstrdup(DEFAULT_STORAGE_HOST);
+	
+	if (slurmdbd_port == 0) 
+		slurmdbd_port = SLURMDBD_PORT;
+	
 	slurm_set_addr(&dbd_addr, slurmdbd_port, slurmdbd_host);
 	if (dbd_addr.sin_port == 0)
 		error("Unable to locate SlurmDBD host %s:%u", 
diff --git a/src/plugins/accounting_storage/mysql/accounting_storage_mysql.c b/src/plugins/accounting_storage/mysql/accounting_storage_mysql.c
index d437cad38be793cb1bbf8c7c10d499479b0e3bcc..58636d678cfc2bb9be635c0995abe0dc0afc1c71 100644
--- a/src/plugins/accounting_storage/mysql/accounting_storage_mysql.c
+++ b/src/plugins/accounting_storage/mysql/accounting_storage_mysql.c
@@ -248,10 +248,12 @@ static int _move_account(mysql_conn_t *mysql_conn, uint32_t lft, uint32_t rgt,
 	
 	width = (rgt - lft + 1);
 
+	/* every thing below needs to be a %d not a %u because we are
+	   looking for -1 */
 	xstrfmtcat(query,
 		   "update %s set deleted = deleted + 2, "
 		   "lft = lft + %d, rgt = rgt + %d "
-		   "WHERE lft BETWEEN %u AND %u;",
+		   "WHERE lft BETWEEN %d AND %d;",
 		   assoc_table, diff, diff, lft, rgt);
 
 	xstrfmtcat(query,
@@ -266,11 +268,11 @@ static int _move_account(mysql_conn_t *mysql_conn, uint32_t lft, uint32_t rgt,
 
 	xstrfmtcat(query,
 		   "UPDATE %s SET rgt = rgt - %d WHERE "
-		   "(%d < 0 && rgt > %u && deleted < 2) "
-		   "|| (%d > 0 && rgt > %u);"
+		   "(%d < 0 && rgt > %d && deleted < 2) "
+		   "|| (%d > 0 && rgt > %d);"
 		   "UPDATE %s SET lft = lft - %d WHERE "
-		   "(%d < 0 && lft > %u && deleted < 2) "
-		   "|| (%d > 0 && lft > %u);",
+		   "(%d < 0 && lft > %d && deleted < 2) "
+		   "|| (%d > 0 && lft > %d);",
 		   assoc_table, width,
 		   diff, rgt,
 		   diff, lft,
@@ -3389,7 +3391,7 @@ extern List acct_storage_p_modify_associations(
 		 * set if they are an operator or greater and then
 		 * check it below after the query.
 		 */
-		if(uid == slurmdbd_conf->slurm_user_id
+		if((uid == slurmdbd_conf->slurm_user_id || uid == 0)
 		   || assoc_mgr_get_admin_level(mysql_conn, uid) 
 		   >= ACCT_ADMIN_OPERATOR) 
 			is_admin = 1;	
@@ -3944,7 +3946,7 @@ extern List acct_storage_p_remove_coord(mysql_conn_t *mysql_conn, uint32_t uid,
 		 * set if they are an operator or greater and then
 		 * check it below after the query.
 		 */
-		if(uid == slurmdbd_conf->slurm_user_id
+		if((uid == slurmdbd_conf->slurm_user_id || uid == 0)
 		   || assoc_mgr_get_admin_level(mysql_conn, uid) 
 		   >= ACCT_ADMIN_OPERATOR) 
 			is_admin = 1;	
@@ -4431,7 +4433,7 @@ extern List acct_storage_p_remove_associations(
 		 * set if they are an operator or greater and then
 		 * check it below after the query.
 		 */
-		if(uid == slurmdbd_conf->slurm_user_id
+		if((uid == slurmdbd_conf->slurm_user_id || uid == 0)
 		   || assoc_mgr_get_admin_level(mysql_conn, uid) 
 		   >= ACCT_ADMIN_OPERATOR) 
 			is_admin = 1;	
diff --git a/src/slurmdbd/proc_req.c b/src/slurmdbd/proc_req.c
index ab9e00ac9da1d3ede938b859f67eae381426d187..f758a169a73566de91b73b7f8adde119d72c9d96 100644
--- a/src/slurmdbd/proc_req.c
+++ b/src/slurmdbd/proc_req.c
@@ -328,7 +328,7 @@ static int _add_accounts(void *db_conn,
 	char *comment = NULL;
 
 	debug2("DBD_ADD_ACCOUNTS: called");
-	if(*uid != slurmdbd_conf->slurm_user_id
+	if((*uid != slurmdbd_conf->slurm_user_id && *uid != 0)
 	   && assoc_mgr_get_admin_level(db_conn, *uid) < ACCT_ADMIN_OPERATOR) {
 		acct_user_rec_t user;
 
@@ -383,7 +383,7 @@ static int _add_account_coords(void *db_conn,
 	}
 	
 	debug2("DBD_ADD_ACCOUNT_COORDS: called");
-	if(*uid != slurmdbd_conf->slurm_user_id
+	if((*uid != slurmdbd_conf->slurm_user_id && *uid != 0)
 	   && assoc_mgr_get_admin_level(db_conn, *uid) < ACCT_ADMIN_OPERATOR) {
 		ListIterator itr = NULL;
 		ListIterator itr2 = NULL;
@@ -455,7 +455,7 @@ static int _add_assocs(void *db_conn,
 		goto end_it;
 	}
 	
-	if(*uid != slurmdbd_conf->slurm_user_id
+	if((*uid != slurmdbd_conf->slurm_user_id && *uid != 0)
 	   && assoc_mgr_get_admin_level(db_conn, *uid) < ACCT_ADMIN_OPERATOR) {
 		ListIterator itr = NULL;
 		ListIterator itr2 = NULL;
@@ -518,7 +518,7 @@ static int _add_clusters(void *db_conn,
 	char *comment = NULL;
 
 	debug2("DBD_ADD_CLUSTERS: called");
-	if(*uid != slurmdbd_conf->slurm_user_id
+	if((*uid != slurmdbd_conf->slurm_user_id && *uid != 0)
 	   && assoc_mgr_get_admin_level(db_conn, *uid) < ACCT_ADMIN_SUPER_USER) {
 		comment = "Your user doesn't have privilege to preform this action";
 		error("%s", comment);
@@ -552,7 +552,7 @@ static int _add_qos(void *db_conn,
 	char *comment = NULL;
 
 	debug2("DBD_ADD_QOS: called");
-	if(*uid != slurmdbd_conf->slurm_user_id
+	if((*uid != slurmdbd_conf->slurm_user_id && *uid != 0)
 	   && (assoc_mgr_get_admin_level(db_conn, *uid) 
 	       < ACCT_ADMIN_SUPER_USER)) {
 		comment = "Your user doesn't have privilege to preform this action";
@@ -586,7 +586,7 @@ static int _add_users(void *db_conn,
 	dbd_list_msg_t *get_msg = NULL;
 	char *comment = NULL;
 	debug2("DBD_ADD_USERS: called");
-	if(*uid != slurmdbd_conf->slurm_user_id
+	if((*uid != slurmdbd_conf->slurm_user_id && *uid != 0)
 	   && assoc_mgr_get_admin_level(db_conn, *uid) < ACCT_ADMIN_OPERATOR) {
 		acct_user_rec_t user;
 
@@ -634,7 +634,7 @@ static int _cluster_procs(void *db_conn,
 	int rc = SLURM_SUCCESS;
 	char *comment = NULL;
 
-	if (*uid != slurmdbd_conf->slurm_user_id) {
+	if ((*uid != slurmdbd_conf->slurm_user_id && *uid != 0)) {
 		comment = "DBD_CLUSTER_PROCS message from invalid uid";
 		error("DBD_CLUSTER_PROCS message from invalid uid %u", *uid);
 		rc = ESLURM_ACCESS_DENIED;
@@ -986,7 +986,7 @@ static int _flush_jobs(void *db_conn,
 	int rc = SLURM_SUCCESS;
 	char *comment = NULL;
 
-	if (*uid != slurmdbd_conf->slurm_user_id) {
+	if ((*uid != slurmdbd_conf->slurm_user_id && *uid != 0)) {
 		comment = "DBD_FLUSH_JOBS message from invalid uid";
 		error("DBD_FLUSH_JOBS message from invalid uid %u", *uid);
 		rc = ESLURM_ACCESS_DENIED;
@@ -1248,7 +1248,7 @@ static int   _modify_accounts(void *db_conn,
 	char *comment = NULL;
 
 	debug2("DBD_MODIFY_ACCOUNTS: called");
-	if(*uid != slurmdbd_conf->slurm_user_id
+	if((*uid != slurmdbd_conf->slurm_user_id && *uid != 0)
 	   && assoc_mgr_get_admin_level(db_conn, *uid) < ACCT_ADMIN_OPERATOR) {
 		comment = "Your user doesn't have privilege to preform this action";
 		error("%s", comment);
@@ -1362,7 +1362,7 @@ static int   _modify_clusters(void *db_conn,
 	dbd_modify_msg_t *get_msg = NULL;
 	char *comment = NULL;
 
-	if(*uid != slurmdbd_conf->slurm_user_id
+	if((*uid != slurmdbd_conf->slurm_user_id && *uid != 0)
 	   && assoc_mgr_get_admin_level(db_conn, *uid)
 	   < ACCT_ADMIN_SUPER_USER) {
 		comment = "Your user doesn't have privilege to preform this action";
@@ -1425,7 +1425,7 @@ static int   _modify_users(void *db_conn,
 
 	debug2("DBD_MODIFY_USERS: called");
 
-	if(*uid != slurmdbd_conf->slurm_user_id
+	if((*uid != slurmdbd_conf->slurm_user_id && *uid != 0)
 	   && assoc_mgr_get_admin_level(db_conn, *uid) < ACCT_ADMIN_OPERATOR) {
 		comment = "Your user doesn't have privilege to preform this action";
 		error("%s", comment);
@@ -1445,7 +1445,7 @@ static int   _modify_users(void *db_conn,
 	}
 
 	if(((acct_user_rec_t *)get_msg->rec)->admin_level != ACCT_ADMIN_NOTSET 
-	   && *uid != slurmdbd_conf->slurm_user_id
+	   && (*uid != slurmdbd_conf->slurm_user_id && *uid != 0)
 	   && assoc_mgr_get_admin_level(db_conn, *uid) 
 	   < ((acct_user_rec_t *)get_msg->rec)->admin_level) {
 		comment = "You have to be the same or higher admin level to change another persons";
@@ -1642,7 +1642,7 @@ static int   _remove_accounts(void *db_conn,
 
 	debug2("DBD_REMOVE_ACCOUNTS: called");
 
-	if(*uid != slurmdbd_conf->slurm_user_id
+	if((*uid != slurmdbd_conf->slurm_user_id && *uid != 0)
 	   && assoc_mgr_get_admin_level(db_conn, *uid) < ACCT_ADMIN_OPERATOR) {
 		comment = "Your user doesn't have privilege to preform this action";
 		error("%s", comment);
@@ -1814,7 +1814,7 @@ static int   _remove_clusters(void *db_conn,
 
 	debug2("DBD_REMOVE_CLUSTERS: called");
 
-	if(*uid != slurmdbd_conf->slurm_user_id
+	if((*uid != slurmdbd_conf->slurm_user_id && *uid != 0)
 	   && assoc_mgr_get_admin_level(db_conn, *uid) 
 	   < ACCT_ADMIN_SUPER_USER) {
 		comment = "Your user doesn't have privilege to preform this action";
@@ -1875,7 +1875,7 @@ static int   _remove_qos(void *db_conn,
 
 	debug2("DBD_REMOVE_QOS: called");
 
-	if(*uid != slurmdbd_conf->slurm_user_id
+	if((*uid != slurmdbd_conf->slurm_user_id && *uid != 0)
 	   && assoc_mgr_get_admin_level(db_conn, *uid) 
 	   < ACCT_ADMIN_SUPER_USER) {
 		comment = "Your user doesn't have privilege to preform this action";
@@ -1936,7 +1936,7 @@ static int   _remove_users(void *db_conn,
 
 	debug2("DBD_REMOVE_USERS: called");
 
-	if(*uid != slurmdbd_conf->slurm_user_id
+	if((*uid != slurmdbd_conf->slurm_user_id && *uid != 0)
 	   && assoc_mgr_get_admin_level(db_conn, *uid) < ACCT_ADMIN_OPERATOR) {
 		comment = "Your user doesn't have privilege to preform this action";
 		error("%s", comment);
@@ -1995,7 +1995,7 @@ static int   _roll_usage(void *db_conn,
 
 	info("DBD_ROLL_USAGE: called");
 
-	if(*uid != slurmdbd_conf->slurm_user_id
+	if((*uid != slurmdbd_conf->slurm_user_id && *uid != 0)
 	   && assoc_mgr_get_admin_level(db_conn, *uid) < ACCT_ADMIN_OPERATOR) {
 		comment = "Your user doesn't have privilege to preform this action";
 		error("%s", comment);
diff --git a/src/slurmdbd/read_config.c b/src/slurmdbd/read_config.c
index 5df989cf6a5d49865b36a840210eab5cb83a6e95..83f1c587358bab4314829343004527f048130bc5 100644
--- a/src/slurmdbd/read_config.c
+++ b/src/slurmdbd/read_config.c
@@ -154,7 +154,8 @@ extern int read_slurmdbd_conf(void)
 		}
 
 		s_p_get_uint16(&slurmdbd_conf->archive_age, "ArchiveAge", tbl);
-		s_p_get_string(&slurmdbd_conf->archive_script, "ArchiveScript", tbl);
+		s_p_get_string(&slurmdbd_conf->archive_script, "ArchiveScript",
+			       tbl);
 		s_p_get_string(&slurmdbd_conf->auth_info, "AuthInfo", tbl);
 		s_p_get_string(&slurmdbd_conf->auth_type, "AuthType", tbl);
 		s_p_get_string(&slurmdbd_conf->dbd_host, "DbdHost", tbl);
@@ -175,7 +176,8 @@ extern int read_slurmdbd_conf(void)
 		s_p_get_string(&slurmdbd_conf->plugindir, "PluginDir", tbl);
 		s_p_get_string(&slurmdbd_conf->slurm_user_name, "SlurmUser",
 			       tbl);
-		if (!s_p_get_uint16(&slurmdbd_conf->step_purge, "StepPurge", tbl))
+		if (!s_p_get_uint16(&slurmdbd_conf->step_purge, "StepPurge",
+				    tbl))
 			slurmdbd_conf->step_purge = DEFAULT_SLURMDBD_STEP_PURGE;
 		s_p_get_string(&slurmdbd_conf->storage_host,
 				"StorageHost", tbl);
@@ -197,7 +199,8 @@ extern int read_slurmdbd_conf(void)
 	if (slurmdbd_conf->auth_type == NULL)
 		slurmdbd_conf->auth_type = xstrdup(DEFAULT_SLURMDBD_AUTHTYPE);
 	if (slurmdbd_conf->dbd_host == NULL) {
-		error("slurmdbd.conf lacks DbdHost parameter, using 'localhost'");
+		error("slurmdbd.conf lacks DbdHost parameter, "
+		      "using 'localhost'");
 		slurmdbd_conf->dbd_host = xstrdup("localhost");
 	}
 	if (slurmdbd_conf->dbd_addr == NULL)