diff --git a/src/main/java/tools/jackson/databind/deser/BasicDeserializerFactory.java b/src/main/java/tools/jackson/databind/deser/BasicDeserializerFactory.java index 9fa624f480..d166dae8c0 100644 --- a/src/main/java/tools/jackson/databind/deser/BasicDeserializerFactory.java +++ b/src/main/java/tools/jackson/databind/deser/BasicDeserializerFactory.java @@ -1206,10 +1206,9 @@ public KeyDeserializer createKeyDeserializer(DeserializationContext ctxt, JavaType type) { final DeserializationConfig config = ctxt.getConfig(); - BeanDescription beanDesc = null; + final BeanDescription beanDesc = ctxt.introspectBeanDescription(type); KeyDeserializer deser = null; if (_factoryConfig.hasKeyDeserializers()) { - beanDesc = ctxt.introspectBeanDescription(type); for (KeyDeserializers d : _factoryConfig.keyDeserializers()) { deser = d.findKeyDeserializer(type, config, beanDesc); if (deser != null) { @@ -1221,9 +1220,6 @@ public KeyDeserializer createKeyDeserializer(DeserializationContext ctxt, // the only non-standard thing is this: if (deser == null) { // [databind#2452]: Support `@JsonDeserialize(keyUsing = ...)` - if (beanDesc == null) { - beanDesc = ctxt.introspectBeanDescription(type); - } deser = findKeyDeserializerFromAnnotation(ctxt, beanDesc.getClassInfo()); if (deser == null) { if (type.isEnumType()) {