diff --git a/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/ScriptBindingsValuesProviderTest.java b/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/ScriptBindingsValuesProviderTest.java
index 1a9c929..f7cfc92 100644
--- a/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/ScriptBindingsValuesProviderTest.java
+++ b/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/ScriptBindingsValuesProviderTest.java
@@ -70,4 +70,17 @@
         }
     }
 
+    public void testJSPProvider() throws IOException {
+        final String toDelete = uploadTestScript("bindingsprovided.jsp","html.jsp");
+        try {
+            final String content = getContent(displayUrl + ".html", CONTENT_TYPE_HTML);
+            assertTrue("Content includes JSP marker (" + content + ")",content.contains("bindingsprovided.jsp"));
+            assertTrue("Content includes test text (" + content + ")", content.contains("Hello World!"));
+            assertTrue("Content includes JSP-specific test text (" + content + ")", content.contains("Hello World from JSP!"));
+            assertFalse("Content doesn't includes Groovy-specific test text (" + content + ")", content.contains("Hello World from Groovy!"));
+        } finally {
+            testClient.delete(toDelete);
+        }
+    }
+
 }
diff --git a/src/test/resources/integration-test/bindingsprovided.jsp b/src/test/resources/integration-test/bindingsprovided.jsp
new file mode 100644
index 0000000..f65691c
--- /dev/null
+++ b/src/test/resources/integration-test/bindingsprovided.jsp
@@ -0,0 +1,31 @@
+<!--
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<!-- simple JSP rendering test -->
+<%@page session="false"%>
+<%@page import="org.apache.sling.api.scripting.SlingBindings"%>
+<%@taglib prefix="sling" uri="http://sling.apache.org/taglibs/sling/1.0"%>
+<sling:defineObjects/>
+
+<h1>bindingsprovided.jsp</h1>
+<% SlingBindings bindings = (SlingBindings) request.getAttribute("org.apache.sling.api.scripting.SlingBindings"); %>
+<%= bindings %>
+<p>helloWorld:<%= bindings.get("helloWorld") %></p>
+<p>jspHelloWorld:<%= bindings.get("jspHelloWorld") %></p>
+<p>groovyHelloWorld:<%= bindings.get("groovyHelloWorld") %></p>
