diff --git a/adbd.te b/adbd.te
index 074f35b001aa3e363f0fea22dcb019d8e1667bf0..67f3efee5de5d08c78dae7cad479d498295cfff6 100644
--- a/adbd.te
+++ b/adbd.te
@@ -20,7 +20,6 @@ allow adbd sdcard_type:file create_file_perms;
 
 allow adbd graphics_device:dir search;
 allow adbd graphics_device:chr_file r_file_perms;
-allow adbd log_device:chr_file r_file_perms;
 # XXX Run /system/bin/vdc to connect to vold.  Run in a separate domain?
 allow adbd system_file:file rx_file_perms;
 unix_socket_connect(adbd, vold, vold)
diff --git a/app.te b/app.te
index 0533f327c340dbd50c1be0283ab0917a897c68e7..68f4fbe76768b99b83bb26e9c97b7786e97b97c4 100644
--- a/app.te
+++ b/app.te
@@ -13,8 +13,6 @@ platform_app_domain(platform_app)
 net_domain(platform_app)
 # Access bluetooth.
 bluetooth_domain(platform_app)
-# Read logs.
-allow platform_app log_device:chr_file read;
 # Write to /cache.
 allow platform_app cache_file:dir rw_dir_perms;
 allow platform_app cache_file:file create_file_perms;
@@ -34,8 +32,6 @@ app_domain(media_app)
 platform_app_domain(media_app)
 # Access the network.
 net_domain(media_app)
-# Read logs.
-allow media_app log_device:chr_file read;
 # Access /dev/mtp_usb.
 allow media_app mtp_device:chr_file rw_file_perms;
 # Write to /cache.
@@ -50,8 +46,6 @@ platform_app_domain(shared_app)
 net_domain(shared_app)
 # Access bluetooth.
 bluetooth_domain(shared_app)
-# Read logs.
-allow shared_app log_device:chr_file read;
 # ASEC
 r_dir_file(shared_app, asec_apk_file);
 
@@ -63,8 +57,6 @@ platform_app_domain(release_app)
 net_domain(release_app)
 # Access bluetooth.
 bluetooth_domain(release_app)
-# Read logs.
-allow release_app log_device:chr_file read;
 
 # Services with isolatedProcess=true in their manifest.
 # In order for isolated_apps to interact with apps that have levelFromUid=true
@@ -95,7 +87,6 @@ net_domain(untrusted_app)
 bluetooth_domain(untrusted_app)
 allow untrusted_app tun_device:chr_file rw_file_perms;
 allow untrusted_app system_data_file:file { execute open };
-allow untrusted_app log_device:chr_file read;
 
 # Internal SDCard rw access.
 bool app_internal_sdcard_rw true;
diff --git a/debuggerd.te b/debuggerd.te
index 653d0039689ac2bad3554556dc751fadc84b03cd..a0041e6f58d3215b2bf38f729ea1355819a999e1 100644
--- a/debuggerd.te
+++ b/debuggerd.te
@@ -17,4 +17,3 @@ allow debuggerd tombstone_data_file:dir create_dir_perms;
 allow debuggerd tombstone_data_file:file create_file_perms;
 allow debuggerd domain:process { sigstop signal };
 allow debuggerd exec_type:file r_file_perms;
-allow debuggerd log_device:chr_file r_file_perms;
diff --git a/domain.te b/domain.te
index 596cd428e0c1a5cb6f01d38fa941a0f6132ff9be..9124b0d7de6c93b003de7ee2e8f15e5b508bfe1a 100644
--- a/domain.te
+++ b/domain.te
@@ -50,7 +50,7 @@ allow domain binder_device:chr_file rw_file_perms;
 allow domain ptmx_device:chr_file rw_file_perms;
 allow domain powervr_device:chr_file rw_file_perms;
 allow domain log_device:dir search;
-allow domain log_device:chr_file w_file_perms;
+allow domain log_device:chr_file rw_file_perms;
 allow domain nv_device:chr_file rw_file_perms;
 allow domain alarm_device:chr_file r_file_perms;
 allow domain urandom_device:chr_file r_file_perms;
diff --git a/shell.te b/shell.te
index 2f1dd439ffb23b1974f12e5ee436028d8d018b54..acf123bba56ffb12a17c3f8e91a3d5cf8ac2a5e4 100644
--- a/shell.te
+++ b/shell.te
@@ -20,9 +20,6 @@ allow shell sdcard_type:file create_file_perms;
 r_dir_file(shell, apk_data_file)
 allow shell dalvikcache_data_file:file { write setattr };
 
-# Run logcat.
-allow shell log_device:chr_file r_file_perms;
-
 # Run app_process.
 # XXX Split into its own domain?
 app_domain(shell)