diff --git a/dev_banner.module b/dev_banner.module
index 11853e7..0e91903 100644
--- a/dev_banner.module
+++ b/dev_banner.module
@@ -9,27 +9,29 @@
  * Implementation of hook_menu().
  */
 function dev_banner_menu() {
-  $items['admin/settings/dev_banner'] = array(
-    'title' => 'Development banner',
-    'description' => 'Settings for Development banner.',
-    'page callback' => 'drupal_get_form',
-    'page arguments' => array('dev_banner_admin_settings'),
-    'access callback' => 'user_access',
-    'access arguments' => array('administer site configuration'),
-    'type' => MENU_NORMAL_ITEM,
-    'file' => 'dev_banner.admin.inc',
-  );
-  $items['dev_banner/refresh'] = array(
-    'title' => 'Development banner refresh callback',
-    'description' => 'called when position is changed on admin screen.',
-    'page callback' => 'dev_banner_admin_refresh_images',
-    'access callback' => 'user_access',
-    'access arguments' => array('administer site configuration'),
-    'type' => MENU_CALLBACK,
-    'file' => 'dev_banner.admin.inc',
-  );
-
-  return $items;
+  if (user_access('administer development banner')) {
+    $items['admin/settings/dev_banner'] = array(
+      'title' => 'Development banner',
+      'description' => 'Settings for Development banner.',
+      'page callback' => 'drupal_get_form',
+      'page arguments' => array('dev_banner_admin_settings'),
+      'access callback' => 'user_access',
+      'access arguments' => array('administer site configuration'),
+      'type' => MENU_NORMAL_ITEM,
+      'file' => 'dev_banner.admin.inc',
+    );
+    $items['dev_banner/refresh'] = array(
+      'title' => 'Development banner refresh callback',
+      'description' => 'called when position is changed on admin screen.',
+      'page callback' => 'dev_banner_admin_refresh_images',
+      'access callback' => 'user_access',
+      'access arguments' => array('administer site configuration'),
+      'type' => MENU_CALLBACK,
+      'file' => 'dev_banner.admin.inc',
+    );
+  
+    return $items;
+  }
 }
 
 
@@ -74,7 +76,7 @@ function dev_banner_init() {
   if ($_GET['q'] == 'admin/settings/dev_banner') {
     drupal_add_css($module_path . '/css/dev_banner.admin.css');
   }
-  if (variable_get('dev_banner_enabled', 0)) {
+  if (variable_get('dev_banner_enabled', 0) && user_access('view development banner')) {
     // insert dev banner, if host match
     if ($banner = dev_banner_fetch()) {
       // banner found
@@ -92,6 +94,12 @@ function dev_banner_init() {
   }
 }
 
+/**
+ * Implmentation of hook_perm().
+ */
+function dev_banner_perm() {
+  return array('view development banner', 'administer development banner');
+}
 
 // fetch dev banner for server context
 function dev_banner_fetch() {
