Trying to straighten out resolution/contextualization of 'untyped' deserializer
diff --git a/src/main/java/com/fasterxml/jackson/databind/DeserializationContext.java b/src/main/java/com/fasterxml/jackson/databind/DeserializationContext.java
index 72d6dd8..866be42 100644
--- a/src/main/java/com/fasterxml/jackson/databind/DeserializationContext.java
+++ b/src/main/java/com/fasterxml/jackson/databind/DeserializationContext.java
@@ -349,7 +349,7 @@
     /**
      * Method for checking whether we could find a deserializer
      * for given type.
-     * 
+     *
      * @param type
      * @since 2.3
      */
@@ -385,6 +385,25 @@
     }
 
     /**
+     * Variant that will try to locate deserializer for current type, but without
+     * performing any contextualization (unlike {@link #findContextualValueDeserializer})
+     * or checking for need to create a {@link TypeDeserializer} (unlike
+     * {@link #findRootValueDeserializer(JavaType)}.
+     * This method is usually called from within {@link ResolvableDeserializer#resolve},
+     * and expectation is that caller then calls either
+     * {@link #handlePrimaryContextualization(JsonDeserializer, BeanProperty)} or
+     * {@link #handleSecondaryContextualization(JsonDeserializer, BeanProperty)} at a
+     * later point, as necessary.
+     *
+     * @since 2.5
+     */
+    public final JsonDeserializer<Object> findNonContextualValueDeserializer(JavaType type)
+        throws JsonMappingException
+    {
+        return _cache.findValueDeserializer(this, _factory, type);
+    }
+    
+    /**
      * Method for finding a deserializer for root-level value.
      */
     @SuppressWarnings("unchecked")
@@ -563,10 +582,8 @@
             BeanProperty prop)
         throws JsonMappingException
     {
-        if (deser != null) {
-            if (deser instanceof ContextualDeserializer) {
-                deser = ((ContextualDeserializer) deser).createContextual(this, prop);
-            }
+        if (deser instanceof ContextualDeserializer) {
+            deser = ((ContextualDeserializer) deser).createContextual(this, prop);
         }
         return deser;
     }
@@ -589,8 +606,9 @@
      */
     public JsonDeserializer<?> handleSecondaryContextualization(JsonDeserializer<?> deser,
             BeanProperty prop)
-        throws JsonMappingException {
-        if (deser != null && (deser instanceof ContextualDeserializer)) {
+        throws JsonMappingException
+    {
+        if (deser instanceof ContextualDeserializer) {
             deser = ((ContextualDeserializer) deser).createContextual(this, prop);
         }
         return deser;