diff --git a/admin_message.module b/admin_message.module
index bd60f18..069704f 100644
--- a/admin_message.module
+++ b/admin_message.module
@@ -89,8 +89,10 @@ function admin_message_block($op = 'list', $delta = 0) {
     case 'view':
       switch ($delta) {
         case 'admin_message':
-          $block['subject'] = '';
-          $block['content'] = admin_message_list_messages();
+          if (user_access('access content')) {
+            $block['subject'] = '';
+            $block['content'] = admin_message_list_messages();
+          }
           break;
       }
       return $block;
@@ -110,8 +112,11 @@ function admin_message_list_messages() {
     $closed_by_user = db_fetch_object(db_query("SELECT a.nid FROM {admin_message_close} a WHERE a.nid = %d AND a.uid = %d", $item->nid, $user->uid));
 
     if (empty($closed_by_user) && ($item->created >= $user->created || $item->keep_new) && $php_visibility) {
-      $node = node_build_content(node_load($item->nid));
-      $output .= theme('admin_message_message', $node);
+      $node = node_load($item->nid);
+      if (node_access('view', $node, $user)) {
+        $node = node_build_content($node);
+        $output .= theme('admin_message_message', $node);
+      }
     }
 
     $messages = TRUE;
@@ -177,4 +182,4 @@ function admin_message_theme() {
       'template' => 'admin-message-node',
     ),
   );
-}
\ No newline at end of file
+}
