diff --git a/adbd.te b/adbd.te
index 8b809e2c81f191bf5da099b351faa96b1d608e2c..4026fcb94b593547f699d196b7809f3042f5c32f 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 6188ef0bbed864d2d2b2ddc7a2e0a732e7bf513f..e016975ab1665205eeaae17bbf835f7925c4141d 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.
@@ -56,8 +52,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);
 
@@ -69,8 +63,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
@@ -101,7 +93,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 a00594323e87f6932ec8c7f3e6383d701c808d7d..1accf5d2ba78d40c64da30bdb7c854f5c6fa7d37 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)