diff --git a/NEWS b/NEWS
index 3d657ca72eb8deb46619f7fcae6f206b5046464f..1fd58681d0e734c4b267e2565df787741849cc29 100644
--- a/NEWS
+++ b/NEWS
@@ -56,6 +56,7 @@ documents those changes that are of interest to users and administrators.
  -- node_features/knl_cray plugin - Fix memory leak.
  -- Fix wrong cpu_per_task count issue on heterogeneous system when dealing with
     steps.
+ -- Fix double free issue when updating QOS with sacctmgr.
 
 * Changes in Slurm 17.02.1-2
 ============================
diff --git a/src/sacctmgr/common.c b/src/sacctmgr/common.c
index 078d44d0b7f7e6fa9d2c36b3a79ea60eeb21aec5..bfa0d83ebbef494d15801dbdca89ed0aa3bf0842 100644
--- a/src/sacctmgr/common.c
+++ b/src/sacctmgr/common.c
@@ -880,6 +880,8 @@ extern int sacctmgr_remove_assoc_usage(slurmdb_assoc_cond_t *assoc_cond)
 						      cluster, account,
 						      user);
 						rc = SLURM_ERROR;
+						slurmdb_destroy_update_object(
+							update_obj);
 						goto end_it;
 					}
 					list_append(update_obj->objects, rec);
@@ -898,6 +900,8 @@ extern int sacctmgr_remove_assoc_usage(slurmdb_assoc_cond_t *assoc_cond)
 					      "database",
 					      cluster, account);
 					rc = SLURM_ERROR;
+					slurmdb_destroy_update_object(
+						update_obj);
 					goto end_it;
 				}
 				list_append(update_obj->objects, rec);
@@ -925,7 +929,6 @@ end_it:
 
 	FREE_NULL_LIST(local_assoc_list);
 	FREE_NULL_LIST(local_cluster_list);
-	slurmdb_destroy_update_object(update_obj);
 
 	return rc;
 }