diff --git i//variable_realm/variable_realm.module w//variable_realm/variable_realm.module
index 81d6f5c..b3029ff 100644
--- i//variable_realm/variable_realm.module
+++ w//variable_realm/variable_realm.module
@@ -32,7 +32,7 @@ function variable_realm_boot() {
  * - Admin paths (not variable realm admin pages)
  */
 function variable_realm_init() {
-  if (arg(0) == 'admin' && (arg(3) != 'variable' || arg(4) != 'realm') && ($params = variable_realm_params()) && user_access('administer site configuration')) {
+  if (arg(0) == 'admin' && (arg(3) != 'variable' || arg(4) != 'realm') && ($params = variable_realm_params()) && user_access('administer variable realm')) {
     foreach ($params as $realm_name => $realm_key) {
       variable_realm_switch($realm_name, $realm_key, FALSE);
     }
@@ -41,6 +41,17 @@ function variable_realm_init() {
 }
 
 /**
+ * Implements hook_permission().
+ */
+function variable_realm_permission() {
+  return array(
+    'administer variable realm' => array(
+      'title' => t('Allow to administer variables'),
+    ),
+  );
+}
+
+/**
  * Initialize realm and set key depending on request.
  *
  * @param $realm_name
