diff --git a/components/camel-blueprint-main/src/main/java/org/apache/camel/blueprint/CamelBlueprintHelper.java b/components/camel-blueprint-main/src/main/java/org/apache/camel/blueprint/CamelBlueprintHelper.java
index bd85347..e0169ac 100644
--- a/components/camel-blueprint-main/src/main/java/org/apache/camel/blueprint/CamelBlueprintHelper.java
+++ b/components/camel-blueprint-main/src/main/java/org/apache/camel/blueprint/CamelBlueprintHelper.java
@@ -48,7 +48,6 @@
 import org.apache.camel.impl.engine.DefaultClassResolver;
 import org.apache.camel.spi.ClassResolver;
 import org.apache.camel.support.ObjectHelper;
-import org.apache.camel.support.ResourceHelper;
 import org.apache.camel.util.FileUtil;
 import org.apache.camel.util.IOHelper;
 import org.apache.felix.connect.PojoServiceRegistryFactoryImpl;
@@ -549,7 +548,7 @@
                     }
                 } else {
                     LOG.debug("Resolving resource: {}", s);
-                    URL url = ResourceHelper.resolveMandatoryResourceAsUrl(RESOLVER, s);
+                    URL url = RESOLVER.loadResourceAsURL(s);
                     if (url == null) {
                         throw new FileNotFoundException("Resource " + s + " not found");
                     }
diff --git a/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/ConfigAdminNoDefaultValuesBlueprintCreationTest.java b/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/ConfigAdminNoDefaultValuesBlueprintCreationTest.java
index 8dbe971..ccbf178 100644
--- a/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/ConfigAdminNoDefaultValuesBlueprintCreationTest.java
+++ b/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/ConfigAdminNoDefaultValuesBlueprintCreationTest.java
@@ -33,7 +33,7 @@
             super.setUp();
             fail("Should fail, because Blueprint XML uses property placeholders, but we didn't define any property sources");
         } catch (Exception e) {
-            assertThat(e.getCause().getCause().getMessage(), equalTo("Property with key [destination] not found in properties from text: {{destination}}"));
+            assertThat(e.getCause().getCause().getCause().getMessage(), equalTo("Property with key [destination] not found in properties from text: {{destination}}"));
         }
     }
 
