diff --git a/lib/yard/handlers/base.rb b/lib/yard/handlers/base.rb
index <HASH>..<HASH> 100644
--- a/lib/yard/handlers/base.rb
+++ b/lib/yard/handlers/base.rb
@@ -483,9 +483,8 @@ module YARD
       # @return [void]
       # @since 0.8.0
       def register_transitive_tags(object)
-        return unless object
+        return unless object && !object.namespace.is_a?(Proxy)
         Tags::Library.transitive_tags.each do |tag|
-          next if object.namespace.is_a?(Proxy)
           next unless object.namespace.has_tag?(tag)
           next if object.has_tag?(tag)
           object.add_tag(*object.namespace.tags(tag))
Condition doesn't have to be in loop