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 f7cfc92..7573c64 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
@@ -83,4 +83,17 @@
         }
     }
 
+    public void testJSPProviderEL() throws IOException {
+        final String toDelete = uploadTestScript("bindingsprovided_el.jsp","html.jsp");
+        try {
+            final String content = getContent(displayUrl + ".html", CONTENT_TYPE_HTML);
+            assertTrue("Content includes JSP marker (" + content + ")",content.contains("bindingsprovided_el.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
index f65691c..c08829d 100644
--- a/src/test/resources/integration-test/bindingsprovided.jsp
+++ b/src/test/resources/integration-test/bindingsprovided.jsp
@@ -19,13 +19,10 @@
 -->
 <!-- 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>
diff --git a/src/test/resources/integration-test/bindingsprovided_el.jsp b/src/test/resources/integration-test/bindingsprovided_el.jsp
new file mode 100644
index 0000000..6fdf4b3
--- /dev/null
+++ b/src/test/resources/integration-test/bindingsprovided_el.jsp
@@ -0,0 +1,28 @@
+<!--
+/*
+ * 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"%>
+<%@taglib prefix="sling" uri="http://sling.apache.org/taglibs/sling/1.0"%>
+<sling:defineObjects/>
+
+<h1>bindingsprovided_el.jsp</h1>
+<p>helloWorld:${bindings.helloWorld}</p>
+<p>jspHelloWorld:${bindings.jspHelloWorld}</p>
+<p>groovyHelloWorld:${bindings.groovyHelloWorld}</p>
