diff --git a/activesupport/lib/active_support/inflector/methods.rb b/activesupport/lib/active_support/inflector/methods.rb
index <HASH>..<HASH> 100644
--- a/activesupport/lib/active_support/inflector/methods.rb
+++ b/activesupport/lib/active_support/inflector/methods.rb
@@ -109,7 +109,7 @@ module ActiveSupport
 
         constant = Object
         names.each do |name|
-          constant = constant.const_get(name, false) || constant.const_missing(name)
+          constant = constant.const_defined?(name, false) ? constant.const_get(name) : constant.const_missing(name)
         end
         constant
       end
Avoid calling triggering const_missing if const_missing is private when doing constantize