diff --git a/private/statsd.te b/private/statsd.te
index dfec7a4825758a6149aa6c8bedb65af1b950c58c..fec10a4b69aa8d35f7085fb59657da9341d56add 100644
--- a/private/statsd.te
+++ b/private/statsd.te
@@ -101,7 +101,7 @@ neverallow {
 # Only statsd and the other root services in limited circumstances.
 # can get to the files in /data/misc/stats-data, /data/misc/stats-service.
 # Other services are prohibitted from accessing the file.
-neverallow { domain -statsd -init -vold } stats_data_file:file *;
+neverallow { domain -statsd -system_server -init -vold } stats_data_file:file *;
 
 # Limited access to the directory itself.
-neverallow { domain -statsd -init -vold } stats_data_file:dir *;
+neverallow { domain -statsd -system_server -init -vold } stats_data_file:dir *;
diff --git a/private/system_server.te b/private/system_server.te
index 0c9067d67576a0f129562df1e131850ed216e642..1bf7a907880977b130248f34b7e255df7f8ca443 100644
--- a/private/system_server.te
+++ b/private/system_server.te
@@ -139,6 +139,10 @@ allow system_server proc_sysrq:file rw_file_perms;
 allow system_server debugfs:file r_file_perms;
 allow system_server debugfs_wakeup_sources:file r_file_perms;
 
+# Delete /data/misc/stats-data/ and /data/misc/stats-service/ directories.
+allow system_server stats_data_file:dir { open read remove_name search write };
+allow system_server stats_data_file:file unlink;
+
 # The DhcpClient and WifiWatchdog use packet_sockets
 allow system_server self:packet_socket create_socket_perms_no_ioctl;