diff --git a/workbench_nodequeue.module b/workbench_nodequeue.module
index eae72e3..b05a25f 100644
--- a/workbench_nodequeue.module
+++ b/workbench_nodequeue.module
@@ -7,6 +7,7 @@ function workbench_nodequeue_menu() {
   $items['admin/workbench/queue'] = array(
     'title' => 'Queue content',
     'page callback' => 'workbench_nodequeue_queue',
+    'access callback' => 'workbench_nodequeue_access',
     'access arguments' => array('access workbench', 'manipulate queues'),
     'type' => MENU_LOCAL_TASK,
   );
@@ -20,7 +21,7 @@ function workbench_nodequeue_menu() {
         'title' => $queue->title,
         'title callback' => 'check_plain',
         'page callback' => 'drupal_goto',
-        'page arguments' => 'page arguments' => array('admin/structure/nodequeue/' . $queue->qid . '/view/' . $queue->qid),
+        'page arguments' => array('admin/structure/nodequeue/' . $queue->qid . '/view/' . $queue->qid),
         'access callback' => 'nodequeue_queue_access',
         'access arguments' => array($queue->qid),
         'description' => $queue->title,
@@ -32,6 +33,27 @@ function workbench_nodequeue_menu() {
 }
 
 /**
+ * Menu access callback.
+ *
+ * @param  array $permissions
+ *   An array of  permissions that a user must have.
+ *
+ * @return bool
+ */
+function workbench_nodequeue_access($permissions) {
+  $access = TRUE;
+
+  foreach ($permissions as $permission) {
+    $access = user_access($permission);
+    if (!$access) {
+      break;
+    }
+  }
+
+  return $access;
+}
+
+/**
  * Page callback.
  */
 function workbench_nodequeue_queue() {
