diff --git a/pom.xml b/pom.xml
index f79fe6f..a886865 100644
--- a/pom.xml
+++ b/pom.xml
@@ -86,7 +86,7 @@
        <dependency>
            <groupId>org.apache.sling</groupId>
            <artifactId>org.apache.sling.provisioning.model</artifactId>
-           <version>1.4.5-SNAPSHOT</version>
+           <version>1.5.1-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>org.apache.maven</groupId>
diff --git a/src/main/java/org/apache/sling/maven/slingstart/ProjectHelper.java b/src/main/java/org/apache/sling/maven/slingstart/ProjectHelper.java
index a454bd0..d03023b 100644
--- a/src/main/java/org/apache/sling/maven/slingstart/ProjectHelper.java
+++ b/src/main/java/org/apache/sling/maven/slingstart/ProjectHelper.java
@@ -102,7 +102,11 @@
         Model result = (Model) project.getContextValue(RAW_MODEL_CACHE);
         if ( result == null ) {
             try {
-                final StringReader r = new StringReader((String)project.getContextValue(RAW_MODEL_TXT));
+                final String text = (String)project.getContextValue(RAW_MODEL_TXT);
+                if ( text == null ) {
+                    throw new MojoExecutionException("No provisioning model found in project.");
+                }
+                final StringReader r = new StringReader(text);
                 result = ModelReader.read(r, project.getId());
                 project.setContextValue(RAW_MODEL_CACHE, result);
             } catch ( final IOException ioe) {
