diff --git a/www/modules/user/user.module b/www/modules/user/user.module
index c1c7ec2..712aec9 100644
--- a/www/modules/user/user.module
+++ b/www/modules/user/user.module
@@ -3065,15 +3065,17 @@ function user_role_grant_permissions($rid, array $permissions = array()) {
   $modules = user_permission_get_modules();
   // Grant new permissions for the role.
   foreach ($permissions as $name) {
-    db_merge('role_permission')
-      ->key(array(
-        'rid' => $rid,
-        'permission' => $name,
-      ))
-      ->fields(array(
-        'module' => $modules[$name],
-      ))
-      ->execute();
+    if (isset($modules[$name])) {
+      db_merge('role_permission')
+        ->key(array(
+          'rid' => $rid,
+          'permission' => $name,
+        ))
+        ->fields(array(
+          'module' => $modules[$name],
+        ))
+        ->execute();
+    }
   }
 
   // Clear the user access cache.
