     else
 
       # fetch permission set for the given group and start checking permissions
-      fetchGroupAndPermissionSet client.groupName, (err, current) =>
+      fetchGroupAndPermissionSet client.groupName, (err, current) ->
         if err or not current then callback err, no
         else
-          @fetchMainGroupAndPermissionSet (err, main) ->
+          # also provide the main group permission set for superadmin checks
+          fetchGroupAndPermissionSet MAIN_GROUP, (err, main) ->
             if err or not main then callback err, no
             else kallback current, main
 

    # set groupName from given target or client
    client.groupName = getGroupnameFrom target, client

    # if it's the main group fetch it from cached helper
    if client.groupName is MAIN_GROUP

      @fetchMainGroupAndPermissionSet (err, main) ->
        if err or not main then callback err, no
        else kallback main, main # pass same group and permissionSet for
                                 # current and the main group ~ GG

          queue[groupName] = []


  getGroupnameFrom = (target, client) ->
    JGroup = require '../group'
    return if 'function' is typeof target
