diff --git a/src/plugins/proctrack/cgroup/proctrack_cgroup.c b/src/plugins/proctrack/cgroup/proctrack_cgroup.c
index 93b9df4e1a5ae46e9b4b827b44749ff7a8f1626f..de863e048a0ad913e3c8f0e2b20e2effd103a606 100644
--- a/src/plugins/proctrack/cgroup/proctrack_cgroup.c
+++ b/src/plugins/proctrack/cgroup/proctrack_cgroup.c
@@ -268,8 +268,11 @@ int _slurm_cgroup_destroy(void)
 		xcgroup_lock(&slurm_freezer_cg);
 
 	if (jobstep_cgroup_path[0] != '\0') {
-		if ( xcgroup_delete(&step_freezer_cg) != XCGROUP_SUCCESS )
+		if ( xcgroup_delete(&step_freezer_cg) != XCGROUP_SUCCESS ) {
+			if (slurm_freezer_init)
+				xcgroup_unlock(&slurm_freezer_cg);
 			return SLURM_ERROR;
+		}
 		xcgroup_destroy(&step_freezer_cg);
 	}