diff --git a/src/common/jobacct_common.c b/src/common/jobacct_common.c
index 74f555bf17fa7c26f2feafab58f7137a63044458..1eafc3290acf6d3603f5217fa7e57f5653550b61 100644
--- a/src/common/jobacct_common.c
+++ b/src/common/jobacct_common.c
@@ -48,6 +48,7 @@ uint32_t cont_id = (uint32_t)NO_VAL;
 uint32_t acct_job_id = 0;
 uint32_t job_mem_limit = 0;
 bool pgid_plugin = false;
+uint32_t mult = 1000;
 
 static void _pack_jobacct_id(jobacct_id_t *jobacct_id, Buf buffer)
 {
@@ -67,6 +68,7 @@ unpack_error:
 static void _pack_sacct(sacct_t *sacct, Buf buffer)
 {
 	int i=0;
+	uint32_t temp;
 
 	if(!sacct) {
 		for(i=0; i<8; i++)
@@ -79,14 +81,19 @@ static void _pack_sacct(sacct_t *sacct, Buf buffer)
 		return;
 	} 
 
-	pack32((uint32_t)sacct->max_vsize, buffer);
-	pack32((uint32_t)sacct->ave_vsize, buffer);
-	pack32((uint32_t)sacct->max_rss, buffer);
-	pack32((uint32_t)sacct->ave_rss, buffer);
-	pack32((uint32_t)sacct->max_pages, buffer);
-	pack32((uint32_t)sacct->ave_pages, buffer);
-	pack32((uint32_t)sacct->min_cpu, buffer);
-	pack32((uint32_t)sacct->ave_cpu, buffer);
+	pack32(sacct->max_vsize, buffer);
+	temp = sacct->ave_vsize * mult;
+	pack32(temp, buffer);
+	pack32(sacct->max_rss, buffer);
+	temp = (uint32_t)sacct->ave_rss * mult;
+	pack32(temp, buffer);
+	pack32(sacct->max_pages, buffer);
+	temp = (uint32_t)sacct->ave_pages * mult;
+	pack32(temp, buffer);
+	temp = (uint32_t)sacct->min_cpu * mult;
+	pack32(temp, buffer);
+	temp = (uint32_t)sacct->ave_cpu * mult;
+	pack32(temp, buffer);
 
 	_pack_jobacct_id(&sacct->max_vsize_id, buffer);
 	_pack_jobacct_id(&sacct->max_rss_id, buffer);
@@ -104,17 +111,17 @@ static int _unpack_sacct(sacct_t *sacct, Buf buffer)
 
 	safe_unpack32(&sacct->max_vsize, buffer);
 	safe_unpack32(&temp, buffer);
-	sacct->ave_vsize = temp;
+	sacct->ave_vsize = temp / mult;
 	safe_unpack32(&sacct->max_rss, buffer);
 	safe_unpack32(&temp, buffer);
-	sacct->ave_rss = temp;
+	sacct->ave_rss = temp / mult;
 	safe_unpack32(&sacct->max_pages, buffer);
 	safe_unpack32(&temp, buffer);
-	sacct->ave_pages = temp;
+	sacct->ave_pages = temp / mult;
 	safe_unpack32(&temp, buffer);
-	sacct->min_cpu = temp;
+	sacct->min_cpu = temp / mult;
 	safe_unpack32(&temp, buffer);
-	sacct->ave_cpu = temp;
+	sacct->ave_cpu = temp / mult;
 	if(_unpack_jobacct_id(&sacct->max_vsize_id, buffer) != SLURM_SUCCESS)
 		goto unpack_error;
 	if(_unpack_jobacct_id(&sacct->max_rss_id, buffer) != SLURM_SUCCESS)
diff --git a/src/plugins/accounting_storage/mysql/mysql_jobacct_process.c b/src/plugins/accounting_storage/mysql/mysql_jobacct_process.c
index d084d00f7f06b60cfd19d0670f05ea1510dd6ee2..426c30ef1807290173970b5c6160878def4bc856 100644
--- a/src/plugins/accounting_storage/mysql/mysql_jobacct_process.c
+++ b/src/plugins/accounting_storage/mysql/mysql_jobacct_process.c
@@ -405,17 +405,17 @@ extern List mysql_jobacct_process_get_jobs(mysql_conn_t *mysql_conn,
 				step->tot_cpu_usec += 
 				step->user_cpu_usec + step->sys_cpu_usec;
 			step->sacct.max_vsize =
-				atoi(step_row[STEP_REQ_MAX_VSIZE]) * 1024;
+				atoi(step_row[STEP_REQ_MAX_VSIZE]);
 			step->sacct.max_vsize_id.taskid = 
 				atoi(step_row[STEP_REQ_MAX_VSIZE_TASK]);
 			step->sacct.ave_vsize = 
-				atof(step_row[STEP_REQ_AVE_VSIZE]) * 1024;
+				atof(step_row[STEP_REQ_AVE_VSIZE]);
 			step->sacct.max_rss =
-				atoi(step_row[STEP_REQ_MAX_RSS]) * 1024;
+				atoi(step_row[STEP_REQ_MAX_RSS]);
 			step->sacct.max_rss_id.taskid = 
 				atoi(step_row[STEP_REQ_MAX_RSS_TASK]);
 			step->sacct.ave_rss = 
-				atof(step_row[STEP_REQ_AVE_RSS]) * 1024;
+				atof(step_row[STEP_REQ_AVE_RSS]);
 			step->sacct.max_pages =
 				atoi(step_row[STEP_REQ_MAX_PAGES]);
 			step->sacct.max_pages_id.taskid = 
diff --git a/src/sacct/options.c b/src/sacct/options.c
index c1f56487f46afc58c73cc12ee01096433b83945c..76d8f8c60a3438337ac5a939cfc5dbcc25ada915 100644
--- a/src/sacct/options.c
+++ b/src/sacct/options.c
@@ -307,6 +307,11 @@ int get_data(void)
 			/* now aggregate the aggregatable */
 			job->alloc_cpus = MAX(job->alloc_cpus, step->ncpus);
 
+			step->sacct.ave_rss *= 1024;
+			step->sacct.max_rss *= 1024;
+			step->sacct.ave_vsize *= 1024;
+			step->sacct.max_vsize *= 1024;
+
 			if(step->state < JOB_COMPLETE)
 				continue;
 			job->tot_cpu_sec += step->tot_cpu_sec;