diff --git a/kernel/cgroup.c b/kernel/cgroup.c
index c29831076e7a2e156e584725453c51568682eb93..2ae7cb47dbfa07ff13ab00776b64bd40bbfe09c8 100644
--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
@@ -2434,7 +2434,9 @@ static long cgroup_create(struct cgroup *parent, struct dentry *dentry,
 
  err_remove:
 
+	cgroup_lock_hierarchy(root);
 	list_del(&cgrp->sibling);
+	cgroup_unlock_hierarchy(root);
 	root->number_of_cgroups--;
 
  err_destroy: