diff --git a/src/api/slurm_pmi.c b/src/api/slurm_pmi.c
index 6f7aed731e399be21c13f16117ae56f0815e8bcb..b534f72094436fe32c6c80fa7b7e3e2463107c8e 100644
--- a/src/api/slurm_pmi.c
+++ b/src/api/slurm_pmi.c
@@ -83,7 +83,7 @@ again:	if (gettimeofday(&tv1, NULL)) {
 		return;
 	}
 
-	cur_time = (tv1.tv_sec % 1000) + tv1.tv_usec;
+	cur_time = ((tv1.tv_sec % 1000) * 1000000) + tv1.tv_usec;
 	tot_time = pmi_size * pmi_time;
 	offset_time = cur_time % tot_time;
 	target_time = pmi_rank * pmi_time;
diff --git a/src/slurmd/slurmd/req.c b/src/slurmd/slurmd/req.c
index d70c10d5fc103abecc217e6a14950b17a1eb9393..a08b9b7180708ee7cbb079476340306df030bc4d 100644
--- a/src/slurmd/slurmd/req.c
+++ b/src/slurmd/slurmd/req.c
@@ -3500,7 +3500,7 @@ again:	if (gettimeofday(&tv1, NULL)) {
 		return;
 	}
 
-	cur_time = (tv1.tv_sec % 1000) + tv1.tv_usec;
+	cur_time = ((tv1.tv_sec % 1000) * 1000000) + tv1.tv_usec;
 	tot_time = host_cnt * usec_per_rpc;
 	offset_time = cur_time % tot_time;
 	target_time = host_inx * usec_per_rpc;