diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c
index d646b279c8bbe88faee7a7369f1c26bbe4fc2ab8..0316f6eece0383437cb63364d85b82e259c5eb8c 100644
--- a/block/cfq-iosched.c
+++ b/block/cfq-iosched.c
@@ -3940,6 +3940,11 @@ static void cfq_exit_queue(struct elevator_queue *e)
 	 */
 	if (wait)
 		synchronize_rcu();
+
+#ifdef CONFIG_CFQ_GROUP_IOSCHED
+	/* Free up per cpu stats for root group */
+	free_percpu(cfqd->root_group.blkg.stats_cpu);
+#endif
 	kfree(cfqd);
 }