diff --git a/lib/conjur/api/patches/role.rb b/lib/conjur/api/patches/role.rb
index <HASH>..<HASH> 100644
--- a/lib/conjur/api/patches/role.rb
+++ b/lib/conjur/api/patches/role.rb
@@ -1,10 +1,14 @@
 require 'conjur/api'
 
 class Conjur::Role
+  # This role can admin the target +role+ if this role has a role which is an admin member of
+  # +role+. This determination is made by expanding all roles of +self+, then doing the set 
+  # intersection with the direct members of +role+, and looking for an overlapping member that
+  # has +admin_option+.
   def can_admin_role? role
     return true if self.roleid == role.roleid
     
     memberships = self.memberships.map(&:roleid)
-    role.members.find{|m| memberships.include?(m.member.roleid) && m.admin_option}
+    role.members.any?{|m| memberships.include?(m.member.roleid) && m.admin_option}
   end
 end
\ No newline at end of file
update can_admin_role? with comments and to use any?