diff --git a/NEWS b/NEWS
index 1ba924598a077360d67973deed6267f1bf6a3f71..6dea8354d926a623ad8965a2f476d41e361e3ed9 100644
--- a/NEWS
+++ b/NEWS
@@ -101,6 +101,9 @@ documents those changes that are of interest to users and admins.
 
 * Changes in Slurm 2.5.6
 ========================
+ -- Gres fix for requeued jobs.
+ -- Gres accounting - Fix regression in 2.5.5 for keeping track of gres
+    requested and allocated.
 
 * Changes in Slurm 2.5.5
 ========================
diff --git a/src/common/gres.c b/src/common/gres.c
index cf24978b0e4468dc5f094888f9ba127fc008d58d..810f2a3b89c0e91264ec389ae4cac35cdcdca331 100644
--- a/src/common/gres.c
+++ b/src/common/gres.c
@@ -3019,6 +3019,7 @@ static int _job_dealloc(void *job_gres_data, void *node_gres_data,
 		}
 	}
 
+	xfree(job_gres_ptr->gres_cnt_step_alloc);
 	return SLURM_SUCCESS;
 }
 
diff --git a/src/plugins/accounting_storage/mysql/as_mysql_job.c b/src/plugins/accounting_storage/mysql/as_mysql_job.c
index b40712aad86a59b3e69c89d007fbe6f73676f67a..adea9f34dda923deaaa0c4e35a26fbf3cd762ebc 100644
--- a/src/plugins/accounting_storage/mysql/as_mysql_job.c
+++ b/src/plugins/accounting_storage/mysql/as_mysql_job.c
@@ -535,9 +535,9 @@ no_rollup_change:
 		if (node_inx)
 			xstrfmtcat(query, "node_inx='%s', ", node_inx);
 		if (gres_req)
-			xstrfmtcat(query, ", gres_req='%s'", gres_req);
+			xstrfmtcat(query, "gres_req='%s', ", gres_req);
 		if (gres_alloc)
-			xstrfmtcat(query, ", gres_alloc='%s'", gres_alloc);
+			xstrfmtcat(query, "gres_alloc='%s', ", gres_alloc);
 
 		xstrfmtcat(query, "time_start=%ld, job_name='%s', state=%u, "
 			   "cpus_alloc=%u, nodes_alloc=%u, id_qos=%u, "