diff --git a/src/main/java/org/apache/sling/servlets/post/impl/helper/SlingFileUploadHandler.java b/src/main/java/org/apache/sling/servlets/post/impl/helper/SlingFileUploadHandler.java
index 0ebb080..aa5fb1a 100644
--- a/src/main/java/org/apache/sling/servlets/post/impl/helper/SlingFileUploadHandler.java
+++ b/src/main/java/org/apache/sling/servlets/post/impl/helper/SlingFileUploadHandler.java
@@ -127,10 +127,13 @@
         boolean createNtFile = parentResource.isResourceType(JcrConstants.NT_FOLDER) || this.jcrSupport.isNodeType(parentResource, JcrConstants.NT_FOLDER);
         String typeHint = prop.getTypeHint();
         if (typeHint != null) {
-            createNtFile = this.jcrSupport.isFileNodeType(parentResource.getResourceResolver(), typeHint);
-            if ( !createNtFile ) {
+            Boolean isFileNodeType = this.jcrSupport.isFileNodeType(parentResource.getResourceResolver(), typeHint);
+            if ( isFileNodeType == null ) {
                 // assuming type not valid.
+                createNtFile = false;
                 typeHint = null;
+            } else {
+                createNtFile = isFileNodeType;
             }
         }
 
diff --git a/src/main/java/org/apache/sling/servlets/post/impl/operations/JCRSupport.java b/src/main/java/org/apache/sling/servlets/post/impl/operations/JCRSupport.java
index b8f6b97..fc1a8df 100644
--- a/src/main/java/org/apache/sling/servlets/post/impl/operations/JCRSupport.java
+++ b/src/main/java/org/apache/sling/servlets/post/impl/operations/JCRSupport.java
@@ -88,7 +88,7 @@
         return false;
     }
 
-    public boolean isFileNodeType(final ResourceResolver resolver, final String nodeType) {
+    public Boolean isFileNodeType(final ResourceResolver resolver, final String nodeType) {
         if ( supportImpl != null ) {
             return ((JCRSupportImpl)supportImpl).isFileNodeType(resolver, nodeType);
         }
diff --git a/src/main/java/org/apache/sling/servlets/post/impl/operations/JCRSupportImpl.java b/src/main/java/org/apache/sling/servlets/post/impl/operations/JCRSupportImpl.java
index 631f0b2..d5b040c 100644
--- a/src/main/java/org/apache/sling/servlets/post/impl/operations/JCRSupportImpl.java
+++ b/src/main/java/org/apache/sling/servlets/post/impl/operations/JCRSupportImpl.java
@@ -219,7 +219,7 @@
         return false;
     }
 
-    public boolean isFileNodeType(final ResourceResolver resolver, final String nodeType) {
+    public Boolean isFileNodeType(final ResourceResolver resolver, final String nodeType) {
         final Session session = resolver.adaptTo(Session.class);
         if ( session != null ) {
             try {
@@ -228,6 +228,7 @@
                 return nt.isNodeType(JcrConstants.NT_FILE);
             } catch (RepositoryException e) {
                 // assuming type not valid.
+                return null;
             }
         }
         return false;
