diff --git a/eu_cookie_compliance.install b/eu_cookie_compliance.install
index 6084a25..e1f4d35 100755
--- a/eu_cookie_compliance.install
+++ b/eu_cookie_compliance.install
@@ -58,4 +58,48 @@ function eu_cookie_compliance_update_6100() {
   variable_del('eu_cookie_compliance_popup_delay');
   variable_del('eu_cookie_compliance_popup_enabled');
   variable_del('eu_cookie_compliance_popup_position');
-}
\ No newline at end of file
+}
+
+
+
+/**
+ * Implements hook_update_n().
+ */
+function eu_cookie_compliance_update_6101() {
+
+  $rids = array_keys(user_roles());
+  if ( ! empty($rids) ) {
+    foreach ( $rids as $rid ) {
+      __eu_cookie_compliance_add_permissions($rid, 'see EU Cookie Compliance popup');
+    }
+  }
+
+}
+
+
+
+
+
+
+
+
+
+
+/**
+ * _add_permissions() is a helper function to add permissions by role to the db
+ */
+function __eu_cookie_compliance_add_permissions($rid, $permissions) {
+  if (!is_array($permissions)) { 
+    $permissions = explode(', ', $permissions);
+  }
+  $current_perms = explode(', ', db_result(db_query("SELECT perm FROM {permission} WHERE rid=%d", $rid)));
+  foreach($permissions as $permission) {
+    if (!in_array($permission, $current_perms)) {
+        $current_perms[] = $permission;
+      }
+    }
+  $current_perms = implode(', ', $current_perms);  
+  $return = db_query("UPDATE {permission} SET perm= '%s' WHERE rid=%d", $current_perms, $rid);
+  return $return;
+}
+
diff --git a/eu_cookie_compliance.module b/eu_cookie_compliance.module
index 38b8939..ec9eb20 100755
--- a/eu_cookie_compliance.module
+++ b/eu_cookie_compliance.module
@@ -28,7 +28,7 @@ function eu_cookie_compliance_menu() {
  */
 function eu_cookie_compliance_init() {
   $enabled = eu_cookie_compliance_get_settings('popup_enabled');
-  if ($enabled) {
+  if ($enabled && user_access( 'see EU Cookie Compliance popup' ) ) {
     $path = drupal_get_path('module', 'eu_cookie_compliance');
     drupal_add_css($path . '/css/eu_cookie_compliance.css');
     drupal_add_js($path . '/js/eu_cookie_compliance.js', 'module', 'footer');
@@ -41,7 +41,7 @@ function eu_cookie_compliance_init() {
 
 function eu_cookie_compliance_footer() {
   $popup_settings = eu_cookie_compliance_get_settings();
-  if ($popup_settings['popup_enabled']) {
+  if ($popup_settings['popup_enabled'] && user_access( 'see EU Cookie Compliance popup' ) ) {
     global $language;
     $popup_text_info = str_replace(array("\r", "\n"), '', $popup_settings['popup_info']['value']);
     $popup_text_agreed = str_replace(array("\r", "\n"), '', $popup_settings['popup_agreed']['value']);
@@ -66,7 +66,7 @@ function eu_cookie_compliance_footer() {
  * Implements hook_perm().
  */
 function eu_cookie_compliance_perm() {
-  return array('administer EU Cookie Compliance popup');
+  return array('administer EU Cookie Compliance popup', 'see EU Cookie Compliance popup');
 }
 
 /**
