diff --git webform.module webform.module
index 1c25af1..062aaaf 100644
--- webform.module
+++ webform.module
@@ -113,8 +113,8 @@ function webform_menu() {
     'title' => 'Webform',
     'page callback' => 'webform_components_page',
     'page arguments' => array(1),
-    'access callback' => 'node_access',
-    'access arguments' => array('update', 1),
+    'access callback' => 'user_access',
+    'access arguments' => array('edit webforms'),
     'file' => 'includes/webform.components.inc',
     'weight' => 1,
     'type' => MENU_LOCAL_TASK,
@@ -123,8 +123,8 @@ function webform_menu() {
     'title' => 'Form components',
     'page callback' => 'webform_components_page',
     'page arguments' => array(1),
-    'access callback' => 'node_access',
-    'access arguments' => array('update', 1),
+    'access callback' => 'user_access',
+    'access arguments' => array('edit webforms'),
     'file' => 'includes/webform.components.inc',
     'weight' => 0,
     'type' => MENU_DEFAULT_LOCAL_TASK,
@@ -133,8 +133,8 @@ function webform_menu() {
     'title' => 'Form settings',
     'page callback' => 'drupal_get_form',
     'page arguments' => array('webform_configure_form', 1),
-    'access callback' => 'node_access',
-    'access arguments' => array('update', 1),
+    'access callback' => 'user_access',
+    'access arguments' => array('edit webforms'),
     'file' => 'includes/webform.pages.inc',
     'weight' => 2,
     'type' => MENU_LOCAL_TASK,
@@ -145,8 +145,8 @@ function webform_menu() {
     'title' => 'E-mails',
     'page callback' => 'drupal_get_form',
     'page arguments' => array('webform_emails_form', 1),
-    'access callback' => 'node_access',
-    'access arguments' => array('update', 1),
+    'access callback' => 'user_access',
+    'access arguments' => array('edit webforms'),
     'file' => 'includes/webform.emails.inc',
     'weight' => 1,
     'type' => MENU_LOCAL_TASK,
@@ -155,8 +155,8 @@ function webform_menu() {
     'title' => 'Edit e-mail settings',
     'load arguments' => array(1),
     'page arguments' => array('webform_email_edit_form', 1, 4),
-    'access callback' => 'node_access',
-    'access arguments' => array('update', 1),
+    'access callback' => 'user_access',
+    'access arguments' => array('edit webforms'),
     'file' => 'includes/webform.emails.inc',
     'type' => MENU_LOCAL_TASK,
   );
@@ -164,8 +164,8 @@ function webform_menu() {
     'title' => 'Delete e-mail settings',
     'load arguments' => array(1),
     'page arguments' => array('webform_email_delete_form', 1, 4),
-    'access callback' => 'node_access',
-    'access arguments' => array('update', 1),
+    'access callback' => 'user_access',
+    'access arguments' => array('edit webforms'),
     'type' => MENU_LOCAL_TASK,
   );
 
@@ -174,24 +174,24 @@ function webform_menu() {
     'load arguments' => array(1, 5),
     'page callback' => 'drupal_get_form',
     'page arguments' => array('webform_component_edit_form', 1, 4, FALSE),
-    'access callback' => 'node_access',
-    'access arguments' => array('update', 1),
+    'access callback' => 'user_access',
+    'access arguments' => array('edit webforms'),
     'type' => MENU_LOCAL_TASK,
   );
   $items['node/%webform_menu/webform/components/%webform_menu_component/clone'] = array(
     'load arguments' => array(1, 5),
     'page callback' => 'drupal_get_form',
     'page arguments' => array('webform_component_edit_form', 1, 4, TRUE),
-    'access callback' => 'node_access',
-    'access arguments' => array('update', 1),
+    'access callback' => 'user_access',
+    'access arguments' => array('edit webforms'),
     'type' => MENU_LOCAL_TASK,
   );
   $items['node/%webform_menu/webform/components/%webform_menu_component/delete'] = array(
     'load arguments' => array(1, 5),
     'page callback' => 'drupal_get_form',
     'page arguments' => array('webform_component_delete_form', 1, 4),
-    'access callback' => 'node_access',
-    'access arguments' => array('update', 1),
+    'access callback' => 'user_access',
+    'access arguments' => array('edit webforms'),
     'type' => MENU_LOCAL_TASK,
   );
 
@@ -200,7 +200,7 @@ function webform_menu() {
     'load arguments' => array(3),
     'page callback' => 'webform_select_options_ajax',
     'access callback' => 'node_access',
-    'access arguments' => array('update', 3),
+    'access arguments' => array('edit webforms'),
     'file' => 'components/select.inc',
     'type' => MENU_CALLBACK,
   );
@@ -479,6 +479,7 @@ function webform_init() {
  */
 function webform_perm() {
   return array(
+    'edit webforms',
     'access all webform results',
     'access own webform results',
     'edit all webform submissions',
